Module: MiniModel::AssociationClassMethods

Included in:
MiniModel
Defined in:
lib/minimodel/associations.rb

Instance Method Summary collapse

Instance Method Details

#belongs_to(association_name, options = {}) ⇒ Object



47
48
49
50
51
52
53
54
55
# File 'lib/minimodel/associations.rb', line 47

def belongs_to(association_name, options = {})
  define_method(association_name) do
    target_model = association_name.to_s.classify.constantize

    foreign_key = '%s_%s' % [association_name, target_model.primary_key]

    target_model.find(self.send(foreign_key))
  end
end

#has_many(association_name, options = {}) ⇒ Object



57
58
59
60
61
# File 'lib/minimodel/associations.rb', line 57

def has_many(association_name, options = {})
  define_method(association_name) do
    HasManyAssociation.new(self, association_name, options)
  end
end