Class: Igniter::Contracts::Execution::EffectInvocation

Inherits:
Object
  • Object
show all
Defined in:
lib/igniter/contracts/execution/effect_invocation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(payload:, context:, profile:) ⇒ EffectInvocation

Returns a new instance of EffectInvocation.



9
10
11
12
13
14
# File 'lib/igniter/contracts/execution/effect_invocation.rb', line 9

def initialize(payload:, context:, profile:)
  @payload = payload
  @context = context.is_a?(NamedValues) ? context : NamedValues.new(context)
  @profile = profile
  freeze
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



7
8
9
# File 'lib/igniter/contracts/execution/effect_invocation.rb', line 7

def context
  @context
end

#payloadObject (readonly)

Returns the value of attribute payload.



7
8
9
# File 'lib/igniter/contracts/execution/effect_invocation.rb', line 7

def payload
  @payload
end

#profileObject (readonly)

Returns the value of attribute profile.



7
8
9
# File 'lib/igniter/contracts/execution/effect_invocation.rb', line 7

def profile
  @profile
end

Instance Method Details

#to_hObject



16
17
18
19
20
21
22
# File 'lib/igniter/contracts/execution/effect_invocation.rb', line 16

def to_h
  {
    payload: StructuredDump.dump(payload),
    context: context.to_h,
    profile_fingerprint: profile.fingerprint
  }
end