class LunaPark::Validators::Dry
Attributes
params[R]
Public Class Methods
new(params)
click to toggle source
# File lib/luna_park/validators/dry.rb, line 14 def initialize(params) @params = params end
Also aliased as: validate
Private Class Methods
schema()
click to toggle source
# File lib/luna_park/validators/dry.rb, line 45 def schema @_schema end
validation_schema(&block)
click to toggle source
# 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
Public Instance Methods
errors_array()
click to toggle source
# 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()
click to toggle source
# File lib/luna_park/validators/dry.rb, line 30 def errors_tree result.errors.to_h || {} end
Also aliased as: errors
success?()
click to toggle source
# File lib/luna_park/validators/dry.rb, line 18 def success? result.success? end
valid_params()
click to toggle source
# File lib/luna_park/validators/dry.rb, line 22 def valid_params (success? && result.to_h) || {} end
Private Instance Methods
result()
click to toggle source
# File lib/luna_park/validators/dry.rb, line 40 def result @result ||= self.class.schema.call(params) end