Module: ValueObject::Initializer

Defined in:
lib/value_object.rb

Instance Method Summary collapse

Instance Method Details

#initialize(**data) ⇒ Object

Raises:

  • (KeyError)


18
19
20
21
22
23
24
# File 'lib/value_object.rb', line 18

def initialize(**data)
  source_keys = self.class.dry_initializer.options.map(&:source)
  unknown_keys = data.keys - source_keys

  raise KeyError, "Key(s) #{unknown_keys} not found in #{source_keys}" if unknown_keys.any?
  super
end