Exception: Trailblazer::Activity::Circuit::IllegalSignalError

Inherits:
RuntimeError
  • Object
show all
Defined in:
lib/trailblazer/activity/circuit.rb

Overview

Common reasons to raise IllegalSignalError are

* Returning invalid signal from custom Macros
* Returning invalid signal from steps which are not taskWrapped, for example: `step task: method(:validate)`

Rest assured, it won’t be raised in case of below scenarios where they can return any value,

* Steps with instance method signature, for example, `step :load_user`
* Steps with proc signature, for example `step ->(ctx, **){}`

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(task, signal:, outputs:, exec_context:) ⇒ IllegalSignalError

Returns a new instance of IllegalSignalError.



89
90
91
92
93
94
95
96
97
98
# File 'lib/trailblazer/activity/circuit.rb', line 89

def initialize(task, signal:, outputs:, exec_context:)
  @task = task
  @signal = signal

  message = "#{exec_context.class}: \n\t" \
    "\sUnrecognized Signal `#{signal.inspect}` returned from #{task.inspect}. Registered signals are, \n" \
    "- #{outputs.keys.join("\n- ")}"

  super(message)
end

Instance Attribute Details

#signalObject (readonly)



87
88
89
# File 'lib/trailblazer/activity/circuit.rb', line 87

def signal
  @signal
end

#taskObject (readonly)



87
88
89
# File 'lib/trailblazer/activity/circuit.rb', line 87

def task
  @task
end