class MR::Model::AssociationSet

Attributes

belongs_to[R]
has_many[R]
has_one[R]
polymorphic_belongs_to[R]

Public Class Methods

new() click to toggle source
# File lib/mr/model/associations.rb, line 53
def initialize
  @belongs_to = []
  @polymorphic_belongs_to = []
  @has_one  = []
  @has_many = []
end

Public Instance Methods

add_belongs_to(name, model_class) click to toggle source
# File lib/mr/model/associations.rb, line 60
def add_belongs_to(name, model_class)
  association = BelongsToAssociation.new(name)
  association.define_accessor_on(model_class)
  @belongs_to << association
end
add_has_many(name, model_class) click to toggle source
# File lib/mr/model/associations.rb, line 78
def add_has_many(name, model_class)
  association = HasManyAssociation.new(name)
  association.define_accessor_on(model_class)
  @has_many << association
end
add_has_one(name, model_class) click to toggle source
# File lib/mr/model/associations.rb, line 72
def add_has_one(name, model_class)
  association = HasOneAssociation.new(name)
  association.define_accessor_on(model_class)
  @has_one << association
end
add_polymorphic_belongs_to(name, model_class) click to toggle source
# File lib/mr/model/associations.rb, line 66
def add_polymorphic_belongs_to(name, model_class)
  association = PolymorphicBelongsToAssociation.new(name)
  association.define_accessor_on(model_class)
  @polymorphic_belongs_to << association
end