class MongoCollection::MongoCollectionProxy

Public Class Methods

new(collection, klass) click to toggle source
# File lib/mongo_collection.rb, line 61
def initialize(collection, klass)
    @class = klass
    @target = collection        
end

Public Instance Methods

all() click to toggle source
# File lib/mongo_collection.rb, line 81
def all
    self.to_a
end
blank?() click to toggle source
# File lib/mongo_collection.rb, line 105
def blank? 
    self.to_a.blank?
end
each(&block) click to toggle source
# File lib/mongo_collection.rb, line 97
def each(&block)
    self.to_a.each(&block)
end
each_cursor() click to toggle source
# File lib/mongo_collection.rb, line 93
def each_cursor 
    @target.each 
end
map(&block) click to toggle source
# File lib/mongo_collection.rb, line 89
def map(&block)
    self.to_a.map(&block)
end
method_missing(method, *args, &block) click to toggle source
# 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
sort_by(&block) click to toggle source
# File lib/mongo_collection.rb, line 85
def sort_by(&block)            
    self.to_a.sort_by(&block)
end
to_h() click to toggle source
# File lib/mongo_collection.rb, line 101
def to_h
    self.map{|x| x.to_h}
end