Method: SDL::Receivers::Receiver#set_value

Defined in:
lib/sdl/receivers/receiver.rb

#set_value(type_class, type_instance, *property_values) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/sdl/receivers/receiver.rb', line 9

def set_value(type_class, type_instance, *property_values)
  property_values.zip(type_class.properties(true)).each do |value, property|
    if(value.is_a?(Hash))
      TypeInstanceReceiver.new(type_instance, @compendium).send(value.keys.first.to_s, value.values.first)
    else
      raise "Specified value '#{value}' for non-existing property." unless property

      TypeInstanceReceiver.new(type_instance, @compendium).send(property.name, value)
    end
  end
end