Module: Mongoid::ActiveRecord::EagerLoadable::ClassMethods

Defined in:
lib/mongoid/active_record/eager_loadable.rb

Instance Method Summary collapse

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