module Groonga::Command::Drilldownable
Public Instance Methods
drilldown()
click to toggle source
@return [String] `drilldown` parameter value.
@since 1.1.3
# File lib/groonga/command/drilldownable.rb, line 23 def drilldown self[:drilldown] end
drilldown_calc_target()
click to toggle source
@return [String] `drilldown_calc_target` parameter value.
@since 1.1.3
# File lib/groonga/command/drilldownable.rb, line 86 def drilldown_calc_target self[:drilldown_calc_target] end
drilldown_calc_types()
click to toggle source
@return [String] `drilldown_calc_types` parameter value.
@since 1.1.3
# File lib/groonga/command/drilldownable.rb, line 79 def drilldown_calc_types self[:drilldown_calc_types] end
drilldown_filter()
click to toggle source
@return [String, nil] The filter for the drilled down result.
@since 1.3.3
# File lib/groonga/command/drilldownable.rb, line 34 def drilldown_filter self[:drilldown_filter] end
drilldown_limit()
click to toggle source
@return [String] `drilldown_limit` parameter value.
@since 1.1.3
# File lib/groonga/command/drilldownable.rb, line 72 def drilldown_limit integer_value(:drilldown_limit) end
drilldown_offset()
click to toggle source
@return [String] `drilldown_offset` parameter value.
@since 1.1.3
# File lib/groonga/command/drilldownable.rb, line 65 def drilldown_offset integer_value(:drilldown_offset) end
drilldown_output_columns()
click to toggle source
@return [String] `drilldown_output_columns` parameter value.
@since 1.1.3
# File lib/groonga/command/drilldownable.rb, line 58 def drilldown_output_columns self[:drilldown_output_columns] end
drilldown_sort_keys()
click to toggle source
@return [::Array<String>] The sort keys for drilldowns.
@since 1.2.8
# File lib/groonga/command/drilldownable.rb, line 50 def drilldown_sort_keys value = self[:drilldown_sort_keys] || self[:drilldown_sortby] || "" parse_array_value(value) end
drilldown_sortby()
click to toggle source
@return [String] `drilldown_sortby` parameter value.
@since 1.1.3
@deprecated since 1.4.4. Use `drilldown_sort_keys` instead.
# File lib/groonga/command/drilldownable.rb, line 43 def drilldown_sortby self[:drilldown_sortby] end
drilldowns()
click to toggle source
# File lib/groonga/command/drilldownable.rb, line 27 def drilldowns @drilldowns ||= array_value(:drilldown) end
labeled_drilldowns()
click to toggle source
@return [::Hash<String, Drilldown>] The labeled drilldowns.
@since 1.2.8
# File lib/groonga/command/drilldownable.rb, line 93 def labeled_drilldowns @labeled_drilldowns ||= parse_labeled_drilldowns("") end
Private Instance Methods
build_labeled_drilldowns(raw_labeled_drilldowns)
click to toggle source
# File lib/groonga/command/drilldownable.rb, line 112 def build_labeled_drilldowns(raw_labeled_drilldowns) labeled_drilldowns = {} raw_labeled_drilldowns.each do |label, raw_drilldown| keys = parse_array_value(raw_drilldown["keys"]) sort_keys = raw_drilldown["sort_keys"] || raw_drilldown["sortby"] sort_keys = parse_array_value(sort_keys) output_columns = parse_array_value(raw_drilldown["output_columns"]) offset = parse_integer_value(raw_drilldown["offset"]) limit = parse_integer_value(raw_drilldown["limit"]) calc_types = parse_array_value(raw_drilldown["calc_types"]) calc_target = raw_drilldown["calc_target"] filter = raw_drilldown["filter"] drilldown = Drilldown.new(keys, sort_keys, output_columns, offset, limit, calc_types, calc_target, filter, label) labeled_drilldowns[label] = drilldown end labeled_drilldowns end
parse_labeled_drilldowns(prefix)
click to toggle source
# File lib/groonga/command/drilldownable.rb, line 98 def parse_labeled_drilldowns(prefix) raw_labeled_drilldowns = {} @arguments.each do |name, value| case name.to_s when /\A#{Regexp.escape(prefix)}drilldowns?\[(.+?)\]\.(.+?)\z/ label = $1 parameter_name = $2 raw_labeled_drilldowns[label] ||= {} raw_labeled_drilldowns[label][parameter_name] = value end end build_labeled_drilldowns(raw_labeled_drilldowns) end