Class: RailsValidationApi::Validator
- Inherits:
-
Object
- Object
- RailsValidationApi::Validator
- Includes:
- RailsParam
- 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.
14 15 16 17 18 |
# File 'lib/rails_validation_api/validator.rb', line 14 def initialize(params, rules) self.params = (defined?(ActionController::Parameters) && 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.
12 13 14 |
# File 'lib/rails_validation_api/validator.rb', line 12 def errors @errors end |
#params ⇒ Object
Returns the value of attribute params.
11 12 13 |
# File 'lib/rails_validation_api/validator.rb', line 11 def params @params end |
Instance Method Details
#validate ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rails_validation_api/validator.rb', line 20 def validate return false if @rules.nil? || @rules.empty? @rules.each do |rule, _| validate_field(rule) end if @errors.any? @errors.each do |error| raise RailsValidationApi::Error.new(error[:field], :unprocessable_entity, error[:message]) end end nil end |