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