Module: WFlow::Process::ClassMethods
- Defined in:
- lib/w_flow/process.rb
Instance Attribute Summary collapse
-
#wflow_nodes ⇒ Object
readonly
Returns the value of attribute wflow_nodes.
Class Method Summary collapse
Instance Method Summary collapse
- #data_accessor(*keys) ⇒ Object
- #data_reader(*keys) ⇒ Object
- #data_writer(*keys) ⇒ Object
- #execute(*tasks, &block) ⇒ Object
- #inherited(klass) ⇒ Object
- #run(params = {}) ⇒ Object
Instance Attribute Details
#wflow_nodes ⇒ Object (readonly)
Returns the value of attribute wflow_nodes.
22 23 24 |
# File 'lib/w_flow/process.rb', line 22 def wflow_nodes @wflow_nodes end |
Class Method Details
.extended(klass) ⇒ Object
24 25 26 |
# File 'lib/w_flow/process.rb', line 24 def self.extended(klass) klass.instance_variable_set('@wflow_nodes', []) end |
Instance Method Details
#data_accessor(*keys) ⇒ Object
32 33 34 35 |
# File 'lib/w_flow/process.rb', line 32 def data_accessor(*keys) data_writer(*keys) data_reader(*keys) end |
#data_reader(*keys) ⇒ Object
43 44 45 46 47 |
# File 'lib/w_flow/process.rb', line 43 def data_reader(*keys) keys.each do |key| define_method(key) { flow.data.send(key.to_s) } end end |
#data_writer(*keys) ⇒ Object
37 38 39 40 41 |
# File 'lib/w_flow/process.rb', line 37 def data_writer(*keys) keys.each do |key| define_method("#{key}=") { |val| flow.data.send("#{key}=", val) } end end |
#execute(*tasks, &block) ⇒ Object
49 50 51 52 53 |
# File 'lib/w_flow/process.rb', line 49 def execute(*tasks, &block) = tasks.last.is_a?(Hash) ? tasks.pop : {} tasks << block if block_given? wflow_nodes << Node.build(tasks, ) end |
#inherited(klass) ⇒ Object
28 29 30 |
# File 'lib/w_flow/process.rb', line 28 def inherited(klass) klass.instance_variable_set('@wflow_nodes', wflow_nodes.dup) end |
#run(params = {}) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/w_flow/process.rb', line 55 def run(params = {}) unless params.nil? || params.is_a?(Hash) raise InvalidArgument, INVALID_RUN_PARAMS end flow = Flow.new(params) ProcessWorker.new(self).run_as_main(flow) FlowReport.new(flow) rescue ::StandardError => e raise unless Configuration.supress_errors? set_failure_and_log(message: e., backtrace: e.backtrace) FlowReport.new(flow) end |