Class: Sumaki::Model::Associations::Association::Singular
- Inherits:
-
Object
- Object
- Sumaki::Model::Associations::Association::Singular
- Defined in:
- lib/sumaki/model/associations/association.rb
Overview
:nodoc:
Instance Method Summary collapse
- #build_model(attrs = {}) ⇒ Object
-
#initialize(owner, reflection) ⇒ Singular
constructor
A new instance of Singular.
- #model ⇒ Object
Constructor Details
#initialize(owner, reflection) ⇒ Singular
Returns a new instance of Singular.
8 9 10 11 |
# File 'lib/sumaki/model/associations/association.rb', line 8 def initialize(owner, reflection) @owner = owner @reflection = reflection end |
Instance Method Details
#build_model(attrs = {}) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/sumaki/model/associations/association.rb', line 20 def build_model(attrs = {}) assoc = @owner.object_accessor.build_singular(@reflection.name) model = @reflection.model_class.new(assoc, parent: @owner) model.assign(attrs) @model = model end |
#model ⇒ Object
13 14 15 16 17 18 |
# File 'lib/sumaki/model/associations/association.rb', line 13 def model @model ||= begin object = @owner.get(@reflection.name) object.nil? ? nil : @reflection.model_class.new(object, parent: @owner) end end |