Class: Ukiryu::Validation::DependencyConstraint
- Inherits:
-
Constraint
- Object
- Constraint
- Ukiryu::Validation::DependencyConstraint
- Defined in:
- lib/ukiryu/validation/constraints.rb
Overview
Validates dependency constraints between options
Instance Attribute Summary collapse
-
#conflicts ⇒ Object
readonly
Returns the value of attribute conflicts.
-
#implies ⇒ Object
readonly
Returns the value of attribute implies.
-
#option_name ⇒ Object
readonly
Returns the value of attribute option_name.
-
#requires ⇒ Object
readonly
Returns the value of attribute requires.
Instance Method Summary collapse
-
#initialize(option_name, requires: nil, conflicts: nil, implies: nil) ⇒ DependencyConstraint
constructor
A new instance of DependencyConstraint.
- #validate(_value, context = {}) ⇒ Object
Methods inherited from Constraint
Constructor Details
#initialize(option_name, requires: nil, conflicts: nil, implies: nil) ⇒ DependencyConstraint
Returns a new instance of DependencyConstraint.
190 191 192 193 194 195 |
# File 'lib/ukiryu/validation/constraints.rb', line 190 def initialize(option_name, requires: nil, conflicts: nil, implies: nil) @option_name = option_name @requires = requires @conflicts = conflicts @implies = implies end |
Instance Attribute Details
#conflicts ⇒ Object (readonly)
Returns the value of attribute conflicts.
184 185 186 |
# File 'lib/ukiryu/validation/constraints.rb', line 184 def conflicts @conflicts end |
#implies ⇒ Object (readonly)
Returns the value of attribute implies.
184 185 186 |
# File 'lib/ukiryu/validation/constraints.rb', line 184 def implies @implies end |
#option_name ⇒ Object (readonly)
Returns the value of attribute option_name.
184 185 186 |
# File 'lib/ukiryu/validation/constraints.rb', line 184 def option_name @option_name end |
#requires ⇒ Object (readonly)
Returns the value of attribute requires.
184 185 186 |
# File 'lib/ukiryu/validation/constraints.rb', line 184 def requires @requires end |
Instance Method Details
#validate(_value, context = {}) ⇒ Object
200 201 202 203 204 205 206 207 |
# File 'lib/ukiryu/validation/constraints.rb', line 200 def validate(_value, context = {}) accessor = context[:options_accessor] raise ArgumentError, 'Dependency validation requires :options_accessor' unless accessor validate_requires(accessor) validate_conflicts(accessor) validate_implies(accessor) end |