Class: Sumaki::Model::Fields::FieldAccessor

Inherits:
Object
  • Object
show all
Defined in:
lib/sumaki/model/fields.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(model, reflections) ⇒ FieldAccessor

Returns a new instance of FieldAccessor.



15
16
17
18
# File 'lib/sumaki/model/fields.rb', line 15

def initialize(model, reflections)
  @model = model
  @reflections = reflections
end

Instance Method Details

#get(field_name) ⇒ Object



20
21
22
23
24
25
# File 'lib/sumaki/model/fields.rb', line 20

def get(field_name)
  reflection = @reflections[field_name]

  value = @model.get(reflection.name)
  reflection.type_class.deserialize(value)
end

#set(field_name, value) ⇒ Object



27
28
29
30
31
32
# File 'lib/sumaki/model/fields.rb', line 27

def set(field_name, value)
  reflection = @reflections[field_name]

  serialized = reflection.type_class.serialize(value)
  @model.set(reflection.name, serialized)
end