Class: RRepo::Adapters::Mongo::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/rrepo/adapters/mongo.rb

Overview

A Mongo Query object

Instance Method Summary collapse

Constructor Details

#initialize(collection, &block) ⇒ Query

Returns a new instance of Query.



48
49
50
51
52
# File 'lib/rrepo/adapters/mongo.rb', line 48

def initialize(collection, &block)
  @collection = collection
  @query = [{}]
  instance_eval(&block) if block_given?
end

Instance Method Details

#orObject



59
60
61
62
# File 'lib/rrepo/adapters/mongo.rb', line 59

def or
  @query << {}
  self
end

#runObject



64
65
66
67
68
69
70
# File 'lib/rrepo/adapters/mongo.rb', line 64

def run
  if @query.size > 1
    @collection.find(:$or => @query)
  else
    @collection.find(@query.first)
  end
end

#to_hashObject



72
73
74
# File 'lib/rrepo/adapters/mongo.rb', line 72

def to_hash
  @query
end

#where(condition) ⇒ Object



54
55
56
57
# File 'lib/rrepo/adapters/mongo.rb', line 54

def where(condition)
  @query.last.merge!(condition)
  self
end