Sha256: 46d3b2f8f2ea0cfd613a174460a1d06ece0623c095d9696d9df99c8b47cfbcba

Contents?: true

Size: 603 Bytes

Versions: 3

Compression:

Stored size: 603 Bytes

Contents

module MongoDoc
  module Finders
    [:all, :count, :first, :last].each do |name|
      module_eval <<-RUBY
        def #{name}
          Criteria.new(self).#{name}
        end
      RUBY
    end

    def criteria
      Criteria.new(self)
    end

    def find(*args)
      query = args.extract_options!
      which = args.first
      Criteria.translate(self, query).send(which)
    end

    def find_one(conditions_or_id)
      if Hash === conditions_or_id
        Criteria.translate(self, conditions_or_id).one
      else
        Criteria.translate(self, conditions_or_id)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mongodoc-0.2.2 lib/mongodoc/finders.rb
mongodoc-0.2.1 lib/mongodoc/finders.rb
mongodoc-0.2.0 lib/mongodoc/finders.rb