Class: Lite::Validation::Validator::State::MergeStrategy::Critical
- Inherits:
-
Object
- Object
- Lite::Validation::Validator::State::MergeStrategy::Critical
- Defined in:
- lib/lite/validation/validator/state/merge_strategy.rb
Instance Method Summary collapse
-
#initialize(section_start, error_generator) ⇒ Critical
constructor
A new instance of Critical.
- #inspect ⇒ Object
- #transform_error(error, origin, partial_path) ⇒ Object
- #transform_result(result, origin, partial_path) ⇒ Object
Constructor Details
#initialize(section_start, error_generator) ⇒ Critical
Returns a new instance of Critical.
19 20 21 22 23 |
# File 'lib/lite/validation/validator/state/merge_strategy.rb', line 19 def initialize(section_start, error_generator) @section_start = section_start @error_generator = error_generator freeze end |
Instance Method Details
#inspect ⇒ Object
38 39 40 |
# File 'lib/lite/validation/validator/state/merge_strategy.rb', line 38 def inspect '#<MergeStrategy::Critical>' end |
#transform_error(error, origin, partial_path) ⇒ Object
33 34 35 36 |
# File 'lib/lite/validation/validator/state/merge_strategy.rb', line 33 def transform_error(error, origin, partial_path) trace = origin.path_to(section_start) error_generator.call(error, trace + partial_path) end |
#transform_result(result, origin, partial_path) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/lite/validation/validator/state/merge_strategy.rb', line 25 def transform_result(result, origin, partial_path) return result unless result.refuted? return result if partial_path.nil? || partial_path.empty? error = result.fall_through ? result.error : transform_error(result.error, origin, partial_path) origin.result.refute(error, fall_through: true) end |