class Sleet::JobFetcher

Attributes

circle_ci_token[R]
input_filename[R]
job_name[R]
output_filename[R]
repo[R]
source_dir[R]

Public Class Methods

new(config:, output_filename:, job_name:, repo:) click to toggle source
# File lib/sleet/job_fetcher.rb, line 5
def initialize(config:, output_filename:, job_name:, repo:)
  @circle_ci_token = config.circle_ci_token
  @source_dir = config.source_dir
  @input_filename = config.input_file
  @output_filename = output_filename
  @job_name = job_name
  @repo = repo
end

Public Instance Methods

do!() click to toggle source
# File lib/sleet/job_fetcher.rb, line 14
def do!
  validate!
  create_output_file!
end

Private Instance Methods

build() click to toggle source
# File lib/sleet/job_fetcher.rb, line 44
def build
  build_selector.build
end
build_persistance_artifacts() click to toggle source
# File lib/sleet/job_fetcher.rb, line 36
def build_persistance_artifacts
  @build_persistance_artifacts ||= Sleet::ArtifactDownloader.new(
    file_name: input_filename,
    artifacts: build.artifacts,
    circle_ci_token: circle_ci_token
  ).files
end
build_selector() click to toggle source
# File lib/sleet/job_fetcher.rb, line 48
def build_selector
  @build_selector ||= Sleet::BuildSelector.new(job_name: job_name, repo: repo)
end
combined_file() click to toggle source
# File lib/sleet/job_fetcher.rb, line 32
def combined_file
  Sleet::RspecFileMerger.new(build_persistance_artifacts).output
end
create_output_file!() click to toggle source
# File lib/sleet/job_fetcher.rb, line 27
def create_output_file!
  File.write(File.join(source_dir, output_filename), combined_file)
  puts "Created file (#{output_filename}) from build (##{build.build_num})".green
end
validate!() click to toggle source
# File lib/sleet/job_fetcher.rb, line 23
def validate!
  build_selector.validate!
end