Module: Mongoid::Document::ClassMethods
- Defined in:
- lib/mongoid/document.rb
Instance Method Summary collapse
-
#===(other) ⇒ true, false
Performs class equality checking.
-
#_types ⇒ Array<Class>
Returns all types to query for when using this class as the base.
-
#i18n_scope ⇒ Symbol
Set the i18n scope to overwrite ActiveModel.
-
#instantiate(attrs = nil, criteria_instance_id = nil) {|doc| ... } ⇒ Document
Instantiate a new object, only when loaded from the database or when the attributes have already been typecast.
-
#logger ⇒ Logger
Returns the logger.
Instance Method Details
#===(other) ⇒ true, false
Performs class equality checking.
276 277 278 |
# File 'lib/mongoid/document.rb', line 276 def ===(other) other.class == Class ? self <= other : other.is_a?(self) end |
#_types ⇒ Array<Class>
Returns all types to query for when using this class as the base.
314 315 316 |
# File 'lib/mongoid/document.rb', line 314 def _types @_type ||= (descendants + [ self ]).uniq.map { |t| t.to_s } end |
#i18n_scope ⇒ Symbol
Set the i18n scope to overwrite ActiveModel.
323 324 325 |
# File 'lib/mongoid/document.rb', line 323 def i18n_scope :mongoid end |
#instantiate(attrs = nil, criteria_instance_id = nil) {|doc| ... } ⇒ Document
Instantiate a new object, only when loaded from the database or when the attributes have already been typecast.
293 294 295 296 297 298 299 300 301 302 303 304 |
# File 'lib/mongoid/document.rb', line 293 def instantiate(attrs = nil, criteria_instance_id = nil) attributes = attrs || {} doc = allocate doc.criteria_instance_id = criteria_instance_id doc.instance_variable_set(:@attributes, attributes) doc.apply_defaults IdentityMap.set(doc) unless _loading_revision? yield(doc) if block_given? doc.run_callbacks(:find) unless doc._find_callbacks.empty? doc.run_callbacks(:initialize) unless doc._initialize_callbacks.empty? doc end |