class Bosh::Director::EventLog::Task
Public Class Methods
new(stage, name, index)
click to toggle source
# File lib/bosh/director/event_log.rb, line 124 def initialize(stage, name, index) @stage = stage @name = name @index = index @state = 'in_progress' @progress = 0 end
Public Instance Methods
advance(delta, data = {})
click to toggle source
# File lib/bosh/director/event_log.rb, line 132 def advance(delta, data = {}) @state = 'in_progress' @progress = [@progress + delta, 100].min log_entry(data) end
failed(error_msg = nil)
click to toggle source
# File lib/bosh/director/event_log.rb, line 149 def failed(error_msg = nil) @state = 'failed' @progress = 100 log_entry("error" => error_msg) end
finish()
click to toggle source
# File lib/bosh/director/event_log.rb, line 143 def finish @state = 'finished' @progress = 100 log_entry end
start()
click to toggle source
# File lib/bosh/director/event_log.rb, line 138 def start @state = 'started' log_entry end
Private Instance Methods
log_entry(data = {})
click to toggle source
# File lib/bosh/director/event_log.rb, line 157 def log_entry(data = {}) task_entry = { :task => @name, :index => @index, :state => @state, :progress => @progress.to_i, } task_entry[:data] = data if data.size > 0 @stage.log_entry(task_entry) end