class NestedRecord::Type

Public Class Methods

new(setup) click to toggle source
# File lib/nested_record/type.rb, line 7
def initialize(setup)
  @setup = setup
end

Public Instance Methods

cast(data) click to toggle source
# File lib/nested_record/type.rb, line 11
def cast(data)
  cast_value(data)
end
deserialize(value) click to toggle source
# File lib/nested_record/type.rb, line 15
def deserialize(value)
  value = if value.is_a?(::String)
    ActiveSupport::JSON.decode(value) rescue nil
  else
    value
  end
  cast_value(value)
end
serialize(obj) click to toggle source
# File lib/nested_record/type.rb, line 24
def serialize(obj)
  ActiveSupport::JSON.encode(obj.as_json) unless obj.nil?
end

Private Instance Methods

record_class() click to toggle source
# File lib/nested_record/type.rb, line 30
def record_class
  @setup.record_class
end