class CI::Queue::BuildRecord
Attributes
error_reports[R]
stats[R]
Public Class Methods
new(queue)
click to toggle source
# File lib/ci/queue/build_record.rb, line 7 def initialize(queue) @queue = queue @error_reports = {} @stats = {} end
Public Instance Methods
fetch_stats(stat_names)
click to toggle source
# File lib/ci/queue/build_record.rb, line 31 def fetch_stats(stat_names) stat_names.zip(stats.values_at(*stat_names).map(&:to_f)) end
progress()
click to toggle source
# File lib/ci/queue/build_record.rb, line 13 def progress @queue.progress end
queue_exhausted?()
click to toggle source
# File lib/ci/queue/build_record.rb, line 17 def queue_exhausted? @queue.exhausted? end
record_error(id, payload, stats: nil)
click to toggle source
# File lib/ci/queue/build_record.rb, line 21 def record_error(id, payload, stats: nil) error_reports[id] = payload record_stats(stats) end
record_success(id, stats: nil)
click to toggle source
# File lib/ci/queue/build_record.rb, line 26 def record_success(id, stats: nil) error_reports.delete(id) record_stats(stats) end
reset_stats(stat_names)
click to toggle source
# File lib/ci/queue/build_record.rb, line 35 def reset_stats(stat_names) stat_names.each { |s| stats.delete(s) } end
Private Instance Methods
record_stats(builds_stats)
click to toggle source
# File lib/ci/queue/build_record.rb, line 43 def record_stats(builds_stats) return unless builds_stats stats.merge!(builds_stats) end