Module: EventEngine::EventDefinition::Validation

Included in:
EventEngine::EventDefinition
Defined in:
lib/event_engine/event_definition/validation.rb

Instance Method Summary collapse

Instance Method Details

#validate_inputs!(inputs) ⇒ Object

Raises:

  • (ArgumentError)


4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/event_engine/event_definition/validation.rb', line 4

def validate_inputs!(inputs)
  declared = self.class.inputs
  provided = inputs.keys.map(&:to_sym)

  return if declared.empty?

  missing = declared - provided
  raise ArgumentError, "missing input: #{missing.join(', ')}" if missing.any?

  extra = provided - declared
  raise ArgumentError, "undeclared input: #{extra.join(', ')}" if extra.any?
end