Class: Gitlab::Ci::Config::Normalizer
- Inherits:
-
Object
- Object
- Gitlab::Ci::Config::Normalizer
- Includes:
- Utils::StrongMemoize
- Defined in:
- lib/gitlab/ci/config/normalizer.rb,
lib/gitlab/ci/config/normalizer/factory.rb,
lib/gitlab/ci/config/normalizer/matrix_strategy.rb,
lib/gitlab/ci/config/normalizer/number_strategy.rb
Defined Under Namespace
Classes: Factory, MatrixStrategy, NumberStrategy
Instance Method Summary collapse
-
#errors ⇒ Object
Deduplicate errors since multiple matrix jobs may generate identical errors for the same missing matrix variable.
-
#initialize(jobs_config) ⇒ Normalizer
constructor
A new instance of Normalizer.
- #normalize_jobs ⇒ Object
Constructor Details
#initialize(jobs_config) ⇒ Normalizer
Returns a new instance of Normalizer.
9 10 11 12 |
# File 'lib/gitlab/ci/config/normalizer.rb', line 9 def initialize(jobs_config) @jobs_config = jobs_config @errors = [] end |
Instance Method Details
#errors ⇒ Object
Deduplicate errors since multiple matrix jobs may generate identical errors for the same missing matrix variable
32 33 34 |
# File 'lib/gitlab/ci/config/normalizer.rb', line 32 def errors @errors.uniq end |
#normalize_jobs ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/gitlab/ci/config/normalizer.rb', line 14 def normalize_jobs return {} unless @jobs_config return @jobs_config if parallelized_jobs.empty? @jobs_config.each_with_object({}) do |(job_name, config), normalized_jobs| if parallelized_jobs.key?(job_name) parallelized_jobs[job_name].each do |job| = config.deep_merge(job.attributes) normalized_jobs[job.name.to_sym] = normalize_job(job_name, ) end else normalized_jobs[job_name] = normalize_job(job_name, config) end end end |