Module: Mongoid::ActiveRecord::EagerLoadable::ClassMethods
- Defined in:
- lib/mongoid/active_record/eager_loadable.rb
Instance Method Summary collapse
-
#active_record_getter(name, metadata) ⇒ Object
todo: put this in Accessors similar to mongoid.
- #active_record_relate(name, metadata) ⇒ Object
- #belongs_to_active_record(association_id) ⇒ Object
Instance Method Details
#active_record_getter(name, metadata) ⇒ Object
todo: put this in Accessors similar to mongoid
23 24 25 26 27 28 29 |
# File 'lib/mongoid/active_record/eager_loadable.rb', line 23 def active_record_getter(name, ) re_define_method name do record_id = self.send(.foreign_key) IdentityMap.get(.relation_class, record_id) || .relation_class.find(record_id) end self end |
#active_record_relate(name, metadata) ⇒ Object
31 32 33 34 |
# File 'lib/mongoid/active_record/eager_loadable.rb', line 31 def active_record_relate(name, ) @active_record_relations[name] = active_record_getter(name, ) end |
#belongs_to_active_record(association_id) ⇒ Object
36 37 38 39 |
# File 'lib/mongoid/active_record/eager_loadable.rb', line 36 def belongs_to_active_record(association_id) = RelationMetadata.new(association_id) active_record_relate(association_id, ) end |