Class: CM::Plugin::Batch
- Inherits:
-
Object
- Object
- CM::Plugin::Batch
- Defined in:
- lib/core/plugin/batch.rb
Instance Method Summary collapse
-
#execute(operation) ⇒ Object
—————————————————————————– Operations.
-
#execute_parallel(operation) ⇒ Object
—————————————————————————– Utilities.
-
#execute_sequence(operation) ⇒ Object
—.
-
#init_resources ⇒ Object
—.
-
#initialized?(options = {}) ⇒ Boolean
—————————————————————————– Checks.
-
#normalize(reload) ⇒ Object
—————————————————————————– Plugin interface.
-
#plan ⇒ Object
—————————————————————————– Property accessors / modifiers.
-
#resources ⇒ Object
—.
- #resources=(resources) ⇒ Object
Instance Method Details
#execute(operation) ⇒ Object
Operations
60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/core/plugin/batch.rb', line 60 def execute(operation) if initialized? if Nucleon.parallel? success = execute_parallel(operation) else success = execute_sequence(operation) end else success = false end success end |
#execute_parallel(operation) ⇒ Object
Utilities
76 77 78 |
# File 'lib/core/plugin/batch.rb', line 76 def execute_parallel(operation) false # Override me!! end |
#execute_sequence(operation) ⇒ Object
82 83 84 85 86 87 88 89 |
# File 'lib/core/plugin/batch.rb', line 82 def execute_sequence(operation) success = true resources.each do |resource| success = false unless resource.execute(operation) break if plan.trap && plan.step end success end |
#init_resources ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/core/plugin/batch.rb', line 20 def init_resources @resources = [] get_array(:resources).each do |resource_config| if resource_config.has_key?(:sequence) # Array @resources << plan.create_sequence(resource_config[:sequence]) else # Atomic @resources << plan.create_resource(resource_config) end end @resources end |
#initialized?(options = {}) ⇒ Boolean
Checks
35 36 37 |
# File 'lib/core/plugin/batch.rb', line 35 def initialized?( = {}) true end |
#normalize(reload) ⇒ Object
Plugin interface
9 10 11 12 13 14 15 16 |
# File 'lib/core/plugin/batch.rb', line 9 def normalize(reload) super @plan = delete(:plan, nil) unless reload init_resources yield if block_given? end |
#plan ⇒ Object
Property accessors / modifiers
42 43 44 |
# File 'lib/core/plugin/batch.rb', line 42 def plan @plan end |
#resources ⇒ Object
48 49 50 |
# File 'lib/core/plugin/batch.rb', line 48 def resources @resources end |
#resources=(resources) ⇒ Object
52 53 54 55 |
# File 'lib/core/plugin/batch.rb', line 52 def resources=resources set(:resources, array(resources)) init_resources end |