Class: MR::Model::AssociationSet

Inherits:
Object
  • Object
show all
Defined in:
lib/mr/model/associations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAssociationSet

Returns a new instance of AssociationSet.



53
54
55
56
57
58
# File 'lib/mr/model/associations.rb', line 53

def initialize
  @belongs_to = []
  @polymorphic_belongs_to = []
  @has_one  = []
  @has_many = []
end

Instance Attribute Details

#belongs_toObject (readonly)

Returns the value of attribute belongs_to.



50
51
52
# File 'lib/mr/model/associations.rb', line 50

def belongs_to
  @belongs_to
end

#has_manyObject (readonly)

Returns the value of attribute has_many.



51
52
53
# File 'lib/mr/model/associations.rb', line 51

def has_many
  @has_many
end

#has_oneObject (readonly)

Returns the value of attribute has_one.



51
52
53
# File 'lib/mr/model/associations.rb', line 51

def has_one
  @has_one
end

#polymorphic_belongs_toObject (readonly)

Returns the value of attribute polymorphic_belongs_to.



50
51
52
# File 'lib/mr/model/associations.rb', line 50

def polymorphic_belongs_to
  @polymorphic_belongs_to
end

Instance Method Details

#add_belongs_to(name, model_class) ⇒ Object



60
61
62
63
64
# 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) ⇒ Object



78
79
80
81
82
# 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) ⇒ Object



72
73
74
75
76
# 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) ⇒ Object



66
67
68
69
70
# 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