Class: SDL::Receivers::Receiver

Inherits:
Object
  • Object
show all
Defined in:
lib/sdl/receivers/receiver.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(compendium) ⇒ Receiver

Returns a new instance of Receiver.



5
6
7
# File 'lib/sdl/receivers/receiver.rb', line 5

def initialize(compendium)
  @compendium = compendium
end

Instance Attribute Details

#compendiumObject (readonly)

Returns the value of attribute compendium.



3
4
5
# File 'lib/sdl/receivers/receiver.rb', line 3

def compendium
  @compendium
end

Instance Method Details

#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