class ConcourseCorrelator
Public Instance Methods
build_utilized_resource_list(jobs)
click to toggle source
# File lib/preflight_check/concourse_correlator.rb, line 24 def build_utilized_resource_list(jobs) utilized_resource_names = [] jobs.each do |job| job.dependencies.each do |dep| utilized_resource_names << dep.name end end utilized_resource_names end
dep_is_defined_as_resource(dep, resources)
click to toggle source
# File lib/preflight_check/concourse_correlator.rb, line 45 def dep_is_defined_as_resource(dep, resources) resources.find { |resource| resource.name == dep.name } end
mark_missing_dependencies(job, resources)
click to toggle source
# File lib/preflight_check/concourse_correlator.rb, line 34 def mark_missing_dependencies(job, resources) job.dependencies.each do |dep| if dep_is_defined_as_resource(dep, resources) dep.defined = true else job.mark_as_failed dep.defined = false end end end
process_jobs(jobs:, resources:)
click to toggle source
# File lib/preflight_check/concourse_correlator.rb, line 4 def process_jobs(jobs:, resources:) jobs.each { |job| mark_missing_dependencies(job, resources) } used_resources = build_utilized_resource_list(jobs) failed_resources = [] resources.each do |resource| consumed_resource = used_resources.find do |used_resource_name| used_resource_name == resource.name end if consumed_resource.nil? failed_resources << resource end end failed_jobs = jobs.reject(&:success?) ValidatorResult.new(failed_jobs: failed_jobs, failed_resources: failed_resources) end