Module: Mongoid::Document::ClassMethods
- Defined in:
- lib/mongoid/document.rb
Instance Method Summary collapse
-
#===(other) ⇒ true, false
Performs class equality checking.
-
#_mongoid_clear_types ⇒ Object
private
Clear the @_type cache.
-
#_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, selected_fields = 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.
306 307 308 |
# File 'lib/mongoid/document.rb', line 306 def ===(other) other.class == Class ? self <= other : other.is_a?(self) end |
#_mongoid_clear_types ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Clear the @_type cache. This is generally called when changing the discriminator key/value on a class.
354 355 356 357 |
# File 'lib/mongoid/document.rb', line 354 def _mongoid_clear_types @_type = nil superclass._mongoid_clear_types if hereditary? end |
#_types ⇒ Array<Class>
Returns all types to query for when using this class as the base.
343 344 345 |
# File 'lib/mongoid/document.rb', line 343 def _types @_type ||= (descendants + [ self ]).uniq.map(&:discriminator_value) end |
#i18n_scope ⇒ Symbol
Set the i18n scope to overwrite ActiveModel.
364 365 366 |
# File 'lib/mongoid/document.rb', line 364 def i18n_scope :mongoid end |
#instantiate(attrs = nil, selected_fields = nil) {|doc| ... } ⇒ Document
Instantiate a new object, only when loaded from the database or when the attributes have already been typecast.
323 324 325 326 327 328 329 330 331 332 333 |
# File 'lib/mongoid/document.rb', line 323 def instantiate(attrs = nil, selected_fields = nil) attributes = attrs || {} doc = allocate doc.__selected_fields = selected_fields doc.instance_variable_set(:@attributes, attributes) doc.apply_defaults 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 |