module Groonga::Command::Sliceable
Public Instance Methods
slices()
click to toggle source
@return [::Hash<String, Slice>] The slices.
@since 1.3.0
# File lib/groonga/command/sliceable.rb, line 23 def slices @slices ||= parse_slices end
Private Instance Methods
build_slices(raw_slices)
click to toggle source
# File lib/groonga/command/sliceable.rb, line 42 def build_slices(raw_slices) slices = {} raw_slices.each do |label, raw_slice| match_columns = raw_slice["match_columns"] query = raw_slice["query"] query_expander = raw_slice["query_expander"] query_flags = parse_flags_value(raw_slice["query_flags"]) filter = raw_slice["filter"] sort_keys = parse_array_value(raw_slice["sort_keys"]) output_columns = parse_array_value(raw_slice["output_columns"]) offset = parse_integer_value(raw_slice["offset"]) limit = parse_integer_value(raw_slice["limit"]) labeled_drilldowns = parse_labeled_drilldowns("slices[#{label}].") slices[label] = Slice.new(label, match_columns, query, query_expander, query_flags, filter, sort_keys, output_columns, offset, limit, labeled_drilldowns) end slices end
parse_slices()
click to toggle source
# File lib/groonga/command/sliceable.rb, line 28 def parse_slices raw_slices = {} @arguments.each do |name, value| case name.to_s when /\Aslices?\[(.+?)\]\.(.+?)\z/ label = $1 parameter_name = $2 raw_slices[label] ||= {} raw_slices[label][parameter_name] = value end end build_slices(raw_slices) end