Module: Performify::Validation::InstanceMethods
- Defined in:
- lib/performify/validation.rb
Instance Method Summary collapse
- #errors ⇒ Object
- #errors!(new_errors) ⇒ Object
- #errors? ⇒ Boolean
- #schema ⇒ Object
- #validate ⇒ Object
Instance Method Details
#errors ⇒ Object
45 46 47 |
# File 'lib/performify/validation.rb', line 45 def errors @errors ||= {} end |
#errors!(new_errors) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/performify/validation.rb', line 38 def errors!(new_errors) raise ArgumentError, 'Errors should be a hash' if new_errors.nil? || !new_errors.respond_to?(:to_h) new_errors.to_h.each do |key, value| errors[key] = errors.key?(key) ? [errors[key]].flatten(1) + [value].flatten(1) : value end end |
#errors? ⇒ Boolean
49 50 51 |
# File 'lib/performify/validation.rb', line 49 def errors? errors.any? end |
#schema ⇒ Object
23 24 25 |
# File 'lib/performify/validation.rb', line 23 def schema self.class.schema end |
#validate ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/performify/validation.rb', line 27 def validate return args if schema.nil? result = schema.call(args) if result.success? @inputs = result.output else errors!(result.errors) end result.output end |