Module: Gitlab::Config::Entry::Validatable
- Extended by:
- ActiveSupport::Concern
- Included in:
- Gitlab::Ci::Config::Entry::AllowFailure, Gitlab::Ci::Config::Entry::Artifacts, Gitlab::Ci::Config::Entry::Cache, Gitlab::Ci::Config::Entry::Caches, Gitlab::Ci::Config::Entry::Commands, Gitlab::Ci::Config::Entry::Coverage, Gitlab::Ci::Config::Entry::Files, Gitlab::Ci::Config::Entry::Hidden, Gitlab::Ci::Config::Entry::IdToken, Gitlab::Ci::Config::Entry::Include, Gitlab::Ci::Config::Entry::Include::Rules, Gitlab::Ci::Config::Entry::Include::Rules::Rule, Gitlab::Ci::Config::Entry::Includes, Gitlab::Ci::Config::Entry::Inherit::Default::ArrayStrategy, Gitlab::Ci::Config::Entry::Inherit::Variables::ArrayStrategy, Gitlab::Ci::Config::Entry::Jobs, Gitlab::Ci::Config::Entry::Key::SimpleKey, Gitlab::Ci::Config::Entry::Kubernetes, Gitlab::Ci::Config::Entry::Need::CrossPipelineDependency, Gitlab::Ci::Config::Entry::Need::JobString, Gitlab::Ci::Config::Entry::Needs, Gitlab::Ci::Config::Entry::Paths, Gitlab::Ci::Config::Entry::Policy::ComplexPolicy, Gitlab::Ci::Config::Entry::Policy::RefsPolicy, Gitlab::Ci::Config::Entry::Port, Gitlab::Ci::Config::Entry::Ports, Gitlab::Ci::Config::Entry::Prefix, Gitlab::Ci::Config::Entry::Product::Matrix, Gitlab::Ci::Config::Entry::Product::Parallel::ParallelBuilds, Gitlab::Ci::Config::Entry::Product::Variables, Gitlab::Ci::Config::Entry::Publish, Gitlab::Ci::Config::Entry::PullPolicy, Gitlab::Ci::Config::Entry::Release, Gitlab::Ci::Config::Entry::Release::Assets, Gitlab::Ci::Config::Entry::Release::Assets::Link, Gitlab::Ci::Config::Entry::Release::Assets::Links, Gitlab::Ci::Config::Entry::Reports, Gitlab::Ci::Config::Entry::Reports::CoverageReport, Gitlab::Ci::Config::Entry::Retry::FullRetry, Gitlab::Ci::Config::Entry::Retry::SimpleRetry, Gitlab::Ci::Config::Entry::Rules, Gitlab::Ci::Config::Entry::Rules::Rule, Gitlab::Ci::Config::Entry::Rules::Rule::Changes::ComplexChanges, Gitlab::Ci::Config::Entry::Rules::Rule::Changes::SimpleChanges, Gitlab::Ci::Config::Entry::Services, Gitlab::Ci::Config::Entry::Stage, Gitlab::Ci::Config::Entry::Stages, Gitlab::Ci::Config::Entry::Tags, Gitlab::Ci::Config::Entry::Timeout, Gitlab::Ci::Config::Entry::Trigger::ComplexTrigger::CrossProjectTrigger, Gitlab::Ci::Config::Entry::Trigger::ComplexTrigger::SameProjectTrigger, Gitlab::Ci::Config::Entry::Trigger::Forward, Gitlab::Ci::Config::Entry::Trigger::SimpleTrigger, Gitlab::Ci::Config::Entry::Variable::ComplexVariable, Gitlab::Ci::Config::Entry::Variable::SimpleVariable, Gitlab::Ci::Config::Entry::Variables, Gitlab::Ci::Config::Entry::Workflow, Gitlab::Ci::Config::Header::Input, ArrayOfStrings, Boolean, ComposableArray, ComposableHash
- Defined in:
- lib/gitlab/config/entry/validatable.rb
Class Method Summary collapse
Instance Method Summary collapse
- #compose!(deps = nil, &blk) ⇒ Object
- #errors ⇒ Object
- #validate(context = nil) ⇒ Object
- #validator ⇒ Object
Class Method Details
.included(node) ⇒ Object
9 10 11 12 13 |
# File 'lib/gitlab/config/entry/validatable.rb', line 9 def self.included(node) node.with_aspect -> do validate(:new) end end |
Instance Method Details
#compose!(deps = nil, &blk) ⇒ Object
23 24 25 26 27 |
# File 'lib/gitlab/config/entry/validatable.rb', line 23 def compose!(deps = nil, &blk) super(deps, &blk) validate(:composed) end |
#errors ⇒ Object
29 30 31 |
# File 'lib/gitlab/config/entry/validatable.rb', line 29 def errors validator. + descendants.flat_map(&:errors) end |
#validate(context = nil) ⇒ Object
19 20 21 |
# File 'lib/gitlab/config/entry/validatable.rb', line 19 def validate(context = nil) validator.validate(context) end |
#validator ⇒ Object
15 16 17 |
# File 'lib/gitlab/config/entry/validatable.rb', line 15 def validator @validator ||= self.class.validator.new(self) end |