Sha256: 97b92b86e7645d7455147cb2cc4a29e1afd480fa09f7ba26f832813ad442852d

Contents?: true

Size: 539 Bytes

Versions: 33

Compression:

Stored size: 539 Bytes

Contents

# encoding: utf-8
module Mongoid #:nodoc:
  class Factory #:nodoc:
    # Builds a new +Document+ from the supplied attributes.
    #
    # Example:
    #
    # <tt>Mongoid::Factory.build(Person, {})</tt>
    #
    # Options:
    #
    # klass: The class to instantiate from if _type is not present.
    # attributes: The +Document+ attributes.
    def self.build(klass, attributes)
      attrs = {}.merge(attributes)
      type = attrs["_type"]
      type ? type.constantize.instantiate(attrs) : klass.instantiate(attrs)
    end
  end
end

Version data entries

33 entries across 33 versions & 7 rubygems

Version Path
mongoid-1.9.5 lib/mongoid/factory.rb
mongoid-2.0.0.rc.7 lib/mongoid/factory.rb
stonegao-mongoid-2.0.0.rc.6 lib/mongoid/factory.rb
mongoid-2.0.0.rc.6 lib/mongoid/factory.rb
mongoid-2.0.0.rc.5 lib/mongoid/factory.rb
mongoid-2.0.0.rc.4 lib/mongoid/factory.rb
mongoid-2.0.0.rc.3 lib/mongoid/factory.rb
mongoid-2.0.0.rc.2 lib/mongoid/factory.rb
mongoid-2.0.0.rc.1 lib/mongoid/factory.rb
mongoid-with-auth-1.9.4 lib/mongoid/factory.rb
mongoid-rails2-1.9.4 lib/mongoid/factory.rb
mongoid-rails2-1.9.3 lib/mongoid/factory.rb
mongoid-2.0.0.beta.20 lib/mongoid/factory.rb
mongoid-2.0.0.beta.19 lib/mongoid/factory.rb
mongoid-1.9.2 lib/mongoid/factory.rb
sskirby-mongoid-1.9.1 lib/mongoid/factory.rb
mongoid-2.0.0.beta.18 lib/mongoid/factory.rb
mongoid-2.0.0.beta.17 lib/mongoid/factory.rb
mongoid-2.0.0.beta.16 lib/mongoid/factory.rb
mongoid-2.0.0.beta.15 lib/mongoid/factory.rb