Class: LunaPark::Validators::Dry
- Inherits:
-
Object
- Object
- LunaPark::Validators::Dry
- Defined in:
- lib/luna_park/validators/dry.rb
Class Method Summary collapse
Instance Method Summary collapse
- #errors_array ⇒ Object
- #errors_tree ⇒ Object (also: #errors)
-
#initialize(params) ⇒ Dry
constructor
A new instance of Dry.
- #success? ⇒ Boolean
- #valid_params ⇒ Object
Constructor Details
#initialize(params) ⇒ Dry
Returns a new instance of Dry.
14 15 16 |
# File 'lib/luna_park/validators/dry.rb', line 14 def initialize(params) @params = params end |
Class Method Details
.schema ⇒ Object
45 46 47 |
# File 'lib/luna_park/validators/dry.rb', line 45 def schema @_schema end |
.validation_schema(&block) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/luna_park/validators/dry.rb', line 51 def validation_schema(&block) unless defined?(::Dry::Validation) raise NameError, "uninitialized constant ::Dry::Validation\n" \ 'Perhaps you forgot to add gem "dry-validation"' end unless defined?(::Dry::Validation::Contract) raise NameError, "uninitialized constant ::Dry::Validation::Contract\n" \ 'which appears in version 1.0 of gem "dry-validation"' end @_schema = Class.new(::Dry::Validation::Contract, &block).new end |
Instance Method Details
#errors_array ⇒ Object
26 27 28 |
# File 'lib/luna_park/validators/dry.rb', line 26 def errors_array result.errors.map { |error| { path: error.path, text: error.text, input: error.input } } end |
#errors_tree ⇒ Object Also known as: errors
30 31 32 |
# File 'lib/luna_park/validators/dry.rb', line 30 def errors_tree result.errors.to_h || {} end |
#success? ⇒ Boolean
18 19 20 |
# File 'lib/luna_park/validators/dry.rb', line 18 def success? result.success? end |
#valid_params ⇒ Object
22 23 24 |
# File 'lib/luna_park/validators/dry.rb', line 22 def valid_params (success? && result.to_h) || {} end |