Class: Compendium::CollectionQuery
- Defined in:
- lib/compendium/collection_query.rb
Overview
A CollectionQuery is a Query which runs once for each in a given set of criteria
Instance Attribute Summary collapse
-
#collection ⇒ Object
Returns the value of attribute collection.
Attributes inherited from Query
#filters, #metrics, #name, #options, #proc, #report, #results, #table_settings
Instance Method Summary collapse
-
#initialize ⇒ CollectionQuery
constructor
A new instance of CollectionQuery.
- #run(params, context = self) ⇒ Object
Methods inherited from Query
#add_filter, #add_metric, #chart, #empty?, #initialize_clone, #nil?, #ran?, #render_chart, #render_csv, #render_table, #url
Constructor Details
#initialize ⇒ CollectionQuery
Returns a new instance of CollectionQuery.
8 9 10 11 |
# File 'lib/compendium/collection_query.rb', line 8 def initialize(*) super self.collection = prepare_collection(@options[:collection]) end |
Instance Attribute Details
#collection ⇒ Object
Returns the value of attribute collection.
6 7 8 |
# File 'lib/compendium/collection_query.rb', line 6 def collection @collection end |
Instance Method Details
#run(params, context = self) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/compendium/collection_query.rb', line 13 def run(params, context = self) collection_values = get_collection_values(context, params) results = collection_values.inject({}) do |r, (key, value)| res = collect_results(context, params, key, value) r[key] = res unless res.empty? r end # A CollectionQuery's results will be a ResultSet of ResultSets @results = ResultSet.new(results) end |