Module: OAR::Scripting
- Included in:
- Application::Graph
- Defined in:
- lib/oar/scripting.rb,
lib/oar/scripting/constants.rb
Defined Under Namespace
Classes: Application, Config, Epilogue, Prologue, Script
Constant Summary collapse
- GEM =
"oar-scripting"
- VERSION =
"1.1.0"
Instance Method Summary collapse
-
#job ⇒ Object
- def
-
step(name).
-
#oarstat ⇒ Object
- def
-
job.
- #sh(cmd, options = {}) ⇒ Object
-
#step(name, *args, &block) ⇒ Object
- def
-
sh(cmd).
Instance Method Details
#oarstat ⇒ Object
- def
-
job
58 59 60 |
# File 'lib/oar/scripting.rb', line 58 def oarstat Script.oarstat end |
#sh(cmd, options = {}) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/oar/scripting.rb', line 14 def sh(cmd, = {}) = .symbolize_keys [:stderr] ||= true cmd += [:stderr] == false ? " 2>/dev/null" : " 2>&1" result = "" Script.logger.info "[command] " + cmd IO.popen(cmd) do |io| result = io.read.strip Script.logger.debug "[result]\n" + result end $? != 0 ? Script.logger.debug("[command_failure]") : Script.logger.debug("[command_success]") result if [:return] end |
#step(name, *args, &block) ⇒ Object
- def
-
sh(cmd)
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/oar/scripting.rb', line 28 def step(name, *args, &block) step = Hash.new raise(ArgumentError, "Step name must be a symbol") unless name.kind_of?(Symbol) if Script.disabled_steps.include? name Script.logger.info "[disable_step]#{name}" return end step = args.first unless args.first.nil? step[:name] = name step[:order] ||= OAR::Scripting::Config[:default_step_order] step[:continue] ||= true step[:proc] = block pre_step = Script.steps.select { |a| a[:name] == name } unless pre_step.empty? if step[:overwrite] Script.logger.info "[step_overwrites] replace #{pre_step.first.inspect} by #{step.inspect}" Script.steps.delete pre_step.first Script.steps << step else Script.logger.info "[step_already_defined] skip #{step.inspect}" end else Script.steps << step end end |