Sha256: d66e2a20640927f7fec95f76efc6ce74bfdb086614aca30c2b91a0df491ffbc5

Contents?: true

Size: 270 Bytes

Versions: 5

Compression:

Stored size: 270 Bytes

Contents

module Kraps
  class JobResolver
    def call(jobs)
      resolve_dependencies(Array(jobs)).uniq
    end

    private

    def resolve_dependencies(jobs)
      jobs.map { |job| [resolve_dependencies(job.steps.map(&:dependency).compact), job] }.flatten
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kraps-0.10.0 lib/kraps/job_resolver.rb
kraps-0.9.0 lib/kraps/job_resolver.rb
kraps-0.8.0 lib/kraps/job_resolver.rb
kraps-0.7.0 lib/kraps/job_resolver.rb
kraps-0.6.0 lib/kraps/job_resolver.rb