Class: Trailblazer::Activity
- Inherits:
-
Object
- Object
- Trailblazer::Activity
- Defined in:
- lib/trailblazer/activity.rb,
lib/trailblazer/activity/schema.rb,
lib/trailblazer/activity/circuit.rb,
lib/trailblazer/activity/task_wrap.rb,
lib/trailblazer/activity/introspect.rb,
lib/trailblazer/activity/structures.rb,
lib/trailblazer/activity/task_wrap/runner.rb,
lib/trailblazer/activity/task_wrap/pipeline.rb,
lib/trailblazer/activity/schema/intermediate.rb,
lib/trailblazer/activity/task_wrap/call_task.rb,
lib/trailblazer/activity/schema/implementation.rb,
lib/trailblazer/activity/task_wrap/variable_mapping.rb
Overview
This is DSL-independent code, focusing only on run-time.
Defined Under Namespace
Modules: Introspect, State, TaskBuilder, TaskWrap, Testing Classes: Circuit, End, Left, NodeAttributes, Output, Right, Schema, Signal, Start
Class Method Summary collapse
-
.End(semantic) ⇒ Object
Builds an End instance.
-
.Output(signal, semantic) ⇒ Object
Builds an Output instance.
Instance Method Summary collapse
-
#[](*key) ⇒ Object
Reader and writer method for an Activity.
- #call(args, **circuit_options) ⇒ Object
-
#initialize(schema) ⇒ Activity
constructor
include Activity::Interface # TODO.
- #inspect ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(schema) ⇒ Activity
include Activity::Interface # TODO
6 7 8 |
# File 'lib/trailblazer/activity.rb', line 6 def initialize(schema) @schema = schema end |
Class Method Details
Instance Method Details
#[](*key) ⇒ Object
Reader and writer method for an Activity. The writer = “value” exposes immutable behavior and will replace the old Always use the accessors to avoid leaking state to other components due to mutable write operations.
23 24 25 |
# File 'lib/trailblazer/activity.rb', line 23 def [](*key) @schema[:config][*key] end |
#call(args, **circuit_options) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/trailblazer/activity.rb', line 10 def call(args, **) @schema[:circuit].( args, **(.merge(activity: self)) ) end |
#inspect ⇒ Object
31 32 33 |
# File 'lib/trailblazer/activity.rb', line 31 def inspect %{#<Trailblazer::Activity:0x#{object_id}>} end |
#to_h ⇒ Object
27 28 29 |
# File 'lib/trailblazer/activity.rb', line 27 def to_h @schema end |