class Nocode::JobExecutor
Manages the lifecycle and executes a job.
Constants
- PARAMETERS_KEY
- REGISTERS_KEY
- STEPS_KEY
Attributes
io[R]
yaml[R]
Public Class Methods
new(yaml, io: $stdout)
click to toggle source
# File lib/nocode/job_executor.rb, line 15 def initialize(yaml, io: $stdout) @yaml = yaml.respond_to?(:read) ? yaml.read : yaml @yaml = YAML.safe_load(@yaml) || {} @io = io freeze end
Public Instance Methods
execute()
click to toggle source
# File lib/nocode/job_executor.rb, line 23 def execute steps = yaml[STEPS_KEY] || [] parameters = yaml[PARAMETERS_KEY] || {} registers = yaml[REGISTERS_KEY] || {} context = Context.new( io: io, parameters: parameters, registers: registers ) log_title(context) StepsExecutor.new(context: context, steps: steps).execute context.log("Ended: #{DateTime.now}") context.log_line context end
Private Instance Methods
log_title(context)
click to toggle source
# File lib/nocode/job_executor.rb, line 46 def log_title(context) context.log_line context.log('Nocode Execution') context.log("Started: #{DateTime.now}") context.log_line end