Class: Lite::Validation::Validator::Coordinator::Errors::Builder
- Inherits:
-
Object
- Object
- Lite::Validation::Validator::Coordinator::Errors::Builder
- Defined in:
- lib/lite/validation/validator/coordinator/errors/builder.rb
Class Method Summary collapse
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize ⇒ Builder
constructor
A new instance of Builder.
- #internal_error(&block) ⇒ Object
- #structured_error(&block) ⇒ Object
Constructor Details
#initialize ⇒ Builder
18 19 20 21 |
# File 'lib/lite/validation/validator/coordinator/errors/builder.rb', line 18 def initialize @internal_error = nil @structured_error = nil end |
Class Method Details
.define(&block) ⇒ Object
14 15 16 |
# File 'lib/lite/validation/validator/coordinator/errors/builder.rb', line 14 def self.define(&block) new.tap { _1.instance_eval(&block) } end |
Instance Method Details
#build ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/lite/validation/validator/coordinator/errors/builder.rb', line 23 def build builder = self Module.new do define_singleton_method :internal_error, &builder.internal_error || builder.structured_error define_singleton_method :structured_error, &builder.structured_error end end |
#internal_error(&block) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/lite/validation/validator/coordinator/errors/builder.rb', line 32 def internal_error(&block) if block raise(Error, 'Internal error proc already set') unless @internal_error.nil? @internal_error = block else @internal_error end end |
#structured_error(&block) ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'lib/lite/validation/validator/coordinator/errors/builder.rb', line 42 def structured_error(&block) if block raise(Error, 'Structured error proc already set') unless @structured_error.nil? @structured_error = block else @structured_error end end |