Class: Ci::Inputs::RulesEvaluator
- Inherits:
-
Object
- Object
- Ci::Inputs::RulesEvaluator
- Includes:
- Gitlab::Utils::StrongMemoize
- Defined in:
- lib/ci/inputs/rules_evaluator.rb
Overview
Evaluates input rules to determine which options and default values should apply. Finds the first rule that evaluates to true or uses the fallback rule.
Constant Summary collapse
- RULE_EXPRESSION_STATEMENT =
Gitlab::Ci::Pipeline::Expression::Statement
- RULE_EXPRESSION_KEY =
:if
Instance Method Summary collapse
-
#initialize(rules, current_inputs) ⇒ RulesEvaluator
constructor
A new instance of RulesEvaluator.
- #resolved_default ⇒ Object
- #resolved_options ⇒ Object
Constructor Details
#initialize(rules, current_inputs) ⇒ RulesEvaluator
Returns a new instance of RulesEvaluator.
16 17 18 19 |
# File 'lib/ci/inputs/rules_evaluator.rb', line 16 def initialize(rules, current_inputs) @rules = rules || [] @current_inputs = current_inputs || {} end |
Instance Method Details
#resolved_default ⇒ Object
25 26 27 |
# File 'lib/ci/inputs/rules_evaluator.rb', line 25 def resolved_default matching_rule&.[](:default) end |
#resolved_options ⇒ Object
21 22 23 |
# File 'lib/ci/inputs/rules_evaluator.rb', line 21 def matching_rule&.[](:options) end |