Class: Gitlab::Ci::Config::Interpolation::Inputs
- Inherits:
-
Object
- Object
- Gitlab::Ci::Config::Interpolation::Inputs
show all
- Defined in:
- lib/gitlab/ci/config/interpolation/inputs.rb,
lib/gitlab/ci/config/interpolation/inputs/base_input.rb,
lib/gitlab/ci/config/interpolation/inputs/number_input.rb,
lib/gitlab/ci/config/interpolation/inputs/string_input.rb,
lib/gitlab/ci/config/interpolation/inputs/boolean_input.rb
Overview
Interpolation inputs provided by the user.
Defined Under Namespace
Classes: BaseInput, BooleanInput, NumberInput, StringInput
Constant Summary
collapse
- UnknownInputTypeError =
Class.new(StandardError)
- TYPES =
[
BooleanInput,
NumberInput,
StringInput
].freeze
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(specs, args) ⇒ Inputs
Returns a new instance of Inputs.
21
22
23
24
25
26
27
28
29
|
# File 'lib/gitlab/ci/config/interpolation/inputs.rb', line 21
def initialize(specs, args)
@specs = specs.to_h
@args = args.to_h
@inputs = []
@errors = []
validate!
fabricate!
end
|
Class Method Details
17
18
19
|
# File 'lib/gitlab/ci/config/interpolation/inputs.rb', line 17
def self.input_types
TYPES.map(&:type_name)
end
|
Instance Method Details
#errors ⇒ Object
31
32
33
|
# File 'lib/gitlab/ci/config/interpolation/inputs.rb', line 31
def errors
@errors + @inputs.flat_map(&:errors)
end
|
#to_hash ⇒ Object
39
40
41
42
43
|
# File 'lib/gitlab/ci/config/interpolation/inputs.rb', line 39
def to_hash
@inputs.inject({}) do |hash, input|
hash.merge(input.to_hash)
end
end
|
#valid? ⇒ Boolean
35
36
37
|
# File 'lib/gitlab/ci/config/interpolation/inputs.rb', line 35
def valid?
errors.none?
end
|