class SonJay::ObjectModel::PropertyDefinition
Attributes
model_class[R]
name[R]
Public Class Methods
new(name, instruction = nil)
click to toggle source
# File lib/son_jay/object_model/property_definition.rb, line 7 def initialize(name, instruction = nil) @name = "#{name}".freeze @model_class = model_class_for_instruction( instruction ) end
Private Instance Methods
array_model_class(instruction)
click to toggle source
# File lib/son_jay/object_model/property_definition.rb, line 26 def array_model_class(instruction) return instruction unless instruction.respond_to?( :to_ary ) return SonJay::ValueArray if instruction == [] sub_instruction = instruction.first sub_model_class = array_model_class( sub_instruction ) sub_model_class.array_class end
model_class_for_instruction(instruction)
click to toggle source
# File lib/son_jay/object_model/property_definition.rb, line 14 def model_class_for_instruction(instruction) if instruction.nil? nil elsif instruction.respond_to?( :to_ary ) array_model_class( instruction ) elsif instruction.respond_to?( :new ) instruction end end