Module: Aqua::Query::ClassMethods
- Defined in:
- lib/aqua/object/query.rb
Instance Method Summary collapse
- #_build_results(docs) ⇒ Object
- #_encode_query(object) ⇒ Object
- #index_on(*ivars) ⇒ Object
- #query(index, opts = {}) ⇒ Object
Instance Method Details
#_build_results(docs) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/aqua/object/query.rb', line 34 def _build_results( docs ) if docs.is_a? Array docs.map{ |doc| build( doc ) } else build( doc ) end end |
#_encode_query(object) ⇒ Object
30 31 32 |
# File 'lib/aqua/object/query.rb', line 30 def _encode_query( object ) CGI.escape( Aqua::Translator.pack_object( object ).pack.to_json ) end |
#index_on(*ivars) ⇒ Object
17 18 19 20 21 |
# File 'lib/aqua/object/query.rb', line 17 def index_on( *ivars ) ivars.each do |var| storage.index_on_ivar( var ) end end |
#query(index, opts = {}) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/aqua/object/query.rb', line 23 def query( index, opts={} ) opts = Mash.new( opts ) equals = opts.delete(:equals) opts[:equals] = _encode_query( equals ) if equals _build_results( storage.query( index, opts ) ) end |