Class: MongoCollection::MongoCollectionProxy
- Inherits:
-
Object
- Object
- MongoCollection::MongoCollectionProxy
show all
- Defined in:
- lib/mongo_collection.rb
Instance Method Summary
collapse
Constructor Details
Returns a new instance of MongoCollectionProxy.
61
62
63
64
|
# File 'lib/mongo_collection.rb', line 61
def initialize(collection, klass)
@class = klass
@target = collection
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/mongo_collection.rb', line 66
def method_missing(method, *args, &block)
result = @target.send(method, *args, &block)
if result.is_a?(BSON::Document)
return @class.from_bson(result)
elsif result.is_a?(Fixnum)
return result
elsif result.is_a?(Array)
return result.map{|bson| @class.from_bson(bson)}
elsif result.is_a?(TrueClass) || result.is_a?(FalseClass)
return result
end
@target = result
self
end
|
Instance Method Details
#all ⇒ Object
81
82
83
|
# File 'lib/mongo_collection.rb', line 81
def all
self.to_a
end
|
#blank? ⇒ Boolean
105
106
107
|
# File 'lib/mongo_collection.rb', line 105
def blank?
self.to_a.blank?
end
|
#each(&block) ⇒ Object
97
98
99
|
# File 'lib/mongo_collection.rb', line 97
def each(&block)
self.to_a.each(&block)
end
|
#each_cursor ⇒ Object
93
94
95
|
# File 'lib/mongo_collection.rb', line 93
def each_cursor
@target.each
end
|
#map(&block) ⇒ Object
89
90
91
|
# File 'lib/mongo_collection.rb', line 89
def map(&block)
self.to_a.map(&block)
end
|
#sort_by(&block) ⇒ Object
85
86
87
|
# File 'lib/mongo_collection.rb', line 85
def sort_by(&block)
self.to_a.sort_by(&block)
end
|
#to_h ⇒ Object
101
102
103
|
# File 'lib/mongo_collection.rb', line 101
def to_h
self.map{|x| x.to_h}
end
|