Module: Aqua::Query::ClassMethods

Defined in:
lib/aqua/object/query.rb

Instance Method Summary collapse

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