Sha256: 3eeb1879a2907de3ee28c2d88845807d9033c5a35d5ed68257654fdbc787e662
Contents?: true
Size: 576 Bytes
Versions: 1
Compression:
Stored size: 576 Bytes
Contents
module Hanuman class Action < Stage def self.register_action(meth_name=nil, &block) meth_name ||= handle ; klass = self Hanuman::Graph.send(:define_method, meth_name) do |*args, &block| begin klass.make(workflow=self, *args, &block) rescue StandardError => err ; err.polish("adding #{meth_name} to #{self.name} on #{args}") rescue nil ; raise ; end end end def self.make(workflow, *args, &block) stage = receive(*args) workflow.add_stage stage stage.receive!(&block) stage end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wukong-3.0.0.pre | lib/hanuman/action.rb |