Sha256: b26e7c3c78793a4265b43e615c1e8e7c51cfd8ef439e5b6c5dc4c1c231c63680
Contents?: true
Size: 844 Bytes
Versions: 3
Compression:
Stored size: 844 Bytes
Contents
module Mongomatic class Cursor attr_accessor :mongo_cursor def initialize(obj_class, mongo_cursor) @obj_class = obj_class @mongo_cursor = mongo_cursor @mongo_cursor.public_methods(false).each do |meth| next if ["next_document","each","to_a"].include?(meth.to_s) (class << self; self; end).class_eval do define_method meth do |*args| @mongo_cursor.send meth, *args end end end end def next_document if doc = @mongo_cursor.next_document @obj_class.new(doc) end end alias :next :next_document def each @mongo_cursor.each do |doc| yield(@obj_class.new(doc)) end end def to_a @mongo_cursor.to_a.collect { |doc| @obj_class.new(doc) } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongomatic-0.0.3 | lib/mongomatic/cursor.rb |
mongomatic-0.0.2 | lib/mongomatic/cursor.rb |
mongomatic-0.0.1 | lib/mongomatic/cursor.rb |