class Structural::Model::HasOne

Public Instance Methods

default() click to toggle source
Calls superclass method
# File lib/structural/model/has_one.rb, line 9
def default
  valid_type_check(super)
end
value_of(data) click to toggle source
# File lib/structural/model/has_one.rb, line 4
def value_of(data)
  child = data.fetch(key, &default_value)
  type.new(child) unless child.nil?
end

Private Instance Methods

valid_type_check(v) click to toggle source
# File lib/structural/model/has_one.rb, line 15
def valid_type_check(v)
  case v
  when Hash then v
  when Proc then valid_type_check(v.call)
  else raise Structural::InvalidDefaultTypeError end
end