Class: RailsValidationApi::Validator
- Inherits:
-
Object
- Object
- RailsValidationApi::Validator
- Defined in:
- lib/rails_validation_api/validator.rb
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
-
#params ⇒ Object
Returns the value of attribute params.
Instance Method Summary collapse
-
#initialize(params, rules) ⇒ Validator
constructor
A new instance of Validator.
- #validate ⇒ Object
Constructor Details
#initialize(params, rules) ⇒ Validator
Returns a new instance of Validator.
11 12 13 14 15 |
# File 'lib/rails_validation_api/validator.rb', line 11 def initialize(params, rules) self.params = params.is_a?(ActionController::Parameters) ? params.to_unsafe_h : params @rules = rules @errors = [] end |
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
9 10 11 |
# File 'lib/rails_validation_api/validator.rb', line 9 def errors @errors end |
#params ⇒ Object
Returns the value of attribute params.
8 9 10 |
# File 'lib/rails_validation_api/validator.rb', line 8 def params @params end |
Instance Method Details
#validate ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rails_validation_api/validator.rb', line 17 def validate return false if @rules.nil? || @rules.empty? @rules.each do |rule, _| validate_field(rule) end if @errors.any? # Only raise the first error to match expected behavior first_error = @errors.first raise RailsValidationApi::Error.new(first_error[:field], :unprocessable_entity, first_error[:message]) end end |