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
46 47 48 |
# File 'lib/performify/validation.rb', line 46 def errors @errors ||= {} end |
#errors!(new_errors) ⇒ Object
38 39 40 41 42 43 44 |
# 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
50 51 52 |
# File 'lib/performify/validation.rb', line 50 def errors? errors.any? end |
#schema ⇒ Object
21 22 23 |
# File 'lib/performify/validation.rb', line 21 def schema self.class.schema end |
#validate ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/performify/validation.rb', line 25 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 |