Module: EventEngine::EventDefinition::Payloads::ClassMethods

Defined in:
lib/event_engine/event_definition/payloads.rb

Instance Method Summary collapse

Instance Method Details

#optional_payload(name, from: nil, attr: nil) ⇒ Object

Declares an optional payload field.

Parameters:

  • name (Symbol)

    the field name in the event payload

  • from (Symbol) (defaults to: nil)

    the input to extract the value from

  • attr (Symbol, nil) (defaults to: nil)

    method to call on the input (nil for passthrough)



15
16
17
18
19
20
21
22
# File 'lib/event_engine/event_definition/payloads.rb', line 15

def optional_payload(name, from: nil, attr: nil)
  payload_fields << {
    name: name.to_sym,
    required: false,
    from: from,
    attr: attr
  }
end

#payload_fieldsArray<Hash>

Returns all declared payload field definitions.

Returns:

  • (Array<Hash>)


41
42
43
# File 'lib/event_engine/event_definition/payloads.rb', line 41

def payload_fields
  @payload_fields ||= []
end

#required_payload(name, from: nil, attr: nil) ⇒ Object

Declares a required payload field.

Parameters:

  • name (Symbol)

    the field name in the event payload

  • from (Symbol) (defaults to: nil)

    the input to extract the value from

  • attr (Symbol, nil) (defaults to: nil)

    method to call on the input (nil for passthrough)



29
30
31
32
33
34
35
36
# File 'lib/event_engine/event_definition/payloads.rb', line 29

def required_payload(name, from: nil, attr: nil)
  payload_fields << {
    name: name.to_sym,
    required: true,
    from: from,
    attr: attr
  }
end