module Trailblazer::Activity::Testing
Public Class Methods
def_steps(*names)
click to toggle source
Creates a module with one step method for each name.
@example
extend T.def_steps(:create, :save)
# File lib/trailblazer/activity/testing.rb, line 10 def self.def_steps(*names) Module.new do module_function names.each do |name| define_method(name) do | ctx, ** | ctx[:seq] << name ctx.key?(name) ? ctx[name] : true end end end end
def_task(name)
click to toggle source
Creates a method instance with a task interface.
@example
task task: T.def_task(:create)
# File lib/trailblazer/activity/testing.rb, line 26 def self.def_task(name) Module.new do define_singleton_method(name) do | (ctx, flow_options), ** | ctx[:seq] << name signal = ctx.key?(name) ? ctx[name] : Activity::Right return signal, [ctx, flow_options] end end.method(name) end
def_tasks(*names)
click to toggle source
# File lib/trailblazer/activity/testing.rb, line 37 def self.def_tasks(*names) Module.new do module_function names.each do |name| define_method(name) do | (ctx, flow_options), ** | ctx[:seq] << name signal = ctx.key?(name) ? ctx[name] : Activity::Right return signal, [ctx, flow_options] end end end end
render_task(proc)
click to toggle source
Use this in {#Cct}.
# File lib/trailblazer/activity/testing.rb, line 153 def self.render_task(proc) Activity::Introspect.render_task(proc) end