Class: Gitlab::Ci::Config::EdgeStagesInjector
- Inherits:
-
Object
- Object
- Gitlab::Ci::Config::EdgeStagesInjector
- Defined in:
- lib/gitlab/ci/config/edge_stages_injector.rb
Constant Summary collapse
- PRE_PIPELINE =
'.pre'
- POST_PIPELINE =
'.post'
- EDGES =
[PRE_PIPELINE, POST_PIPELINE].freeze
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(config) ⇒ EdgeStagesInjector
constructor
A new instance of EdgeStagesInjector.
- #to_hash ⇒ Object
Constructor Details
#initialize(config) ⇒ EdgeStagesInjector
Returns a new instance of EdgeStagesInjector.
19 20 21 |
# File 'lib/gitlab/ci/config/edge_stages_injector.rb', line 19 def initialize(config) @config = config.to_h.deep_dup end |
Class Method Details
.wrap_stages(stages) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/gitlab/ci/config/edge_stages_injector.rb', line 11 def self.wrap_stages(stages) stages = stages.to_a - EDGES stages.unshift PRE_PIPELINE stages.push POST_PIPELINE stages end |
Instance Method Details
#to_hash ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/gitlab/ci/config/edge_stages_injector.rb', line 23 def to_hash if config.key?(:stages) process(:stages) elsif config.key?(:types) process(:types) else config end end |