class Adminix::Entities::Job
Constants
- STATUS_COMPLETED
- STATUS_IN_QUEUE
Attributes
id[RW]
output[R]
script[RW]
status[R]
success[R]
Public Class Methods
new(id:, script:)
click to toggle source
# File lib/adminix/entities/job.rb, line 10 def initialize(id:, script:) @id = id @script = script @status = STATUS_IN_QUEUE @created_at = Time.now @success = false filter_script end
Public Instance Methods
completed?()
click to toggle source
# File lib/adminix/entities/job.rb, line 31 def completed? @status == STATUS_COMPLETED end
filter_script()
click to toggle source
# File lib/adminix/entities/job.rb, line 35 def filter_script ['sudo', 'shutdown', 'kill'].each do |word| @script = @script.gsub('word', '') end end
in_queue?()
click to toggle source
# File lib/adminix/entities/job.rb, line 27 def in_queue? @status == STATUS_IN_QUEUE end
perform()
click to toggle source
# File lib/adminix/entities/job.rb, line 20 def perform @output = `/bin/bash #{Adminix.config.scripts[:run_script]} #{script}` @success = $?.success? @status = STATUS_COMPLETED @completed_at = Time.now end
to_api()
click to toggle source
# File lib/adminix/entities/job.rb, line 41 def to_api { id: @id, status: @status, script: @script, success: @success, output: @output, created_at: @created_at, completed_at: @completed_at } end