Class: LunaPark::Validators::Dry

Inherits:
Object
  • Object
show all
Defined in:
lib/luna_park/validators/dry.rb

Class Method Summary collapse

Instance Method Summary collapse

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

.schemaObject



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_arrayObject



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_treeObject 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

Returns:

  • (Boolean)


18
19
20
# File 'lib/luna_park/validators/dry.rb', line 18

def success?
  result.success?
end

#valid_paramsObject



22
23
24
# File 'lib/luna_park/validators/dry.rb', line 22

def valid_params
  (success? && result.to_h) || {}
end