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.
305 306 307 |
# File 'lib/mongoid/document.rb', line 305 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.
353 354 355 356 |
# File 'lib/mongoid/document.rb', line 353 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.
342 343 344 |
# File 'lib/mongoid/document.rb', line 342 def _types @_type ||= (descendants + [ self ]).uniq.map(&:discriminator_value) end |
#i18n_scope ⇒ Symbol
Set the i18n scope to overwrite ActiveModel.
363 364 365 |
# File 'lib/mongoid/document.rb', line 363 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.
322 323 324 325 326 327 328 329 330 331 332 |
# File 'lib/mongoid/document.rb', line 322 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 |