class ChainedValidation::Validate
Public Class Methods
new(validations)
click to toggle source
# File lib/chained_validation/validate.rb, line 3 def initialize(validations) @validations = validations end
Public Instance Methods
claim()
click to toggle source
Return a result of validation.
# File lib/chained_validation/validate.rb, line 8 def claim is_valid? end
claim!()
click to toggle source
Claim result with exceptions.
# File lib/chained_validation/validate.rb, line 13 def claim! is_valid? ? true : result_exceptions end
Private Instance Methods
is_valid?()
click to toggle source
If in result_values have an false value, the validation of rules failed.
# File lib/chained_validation/validate.rb, line 50 def is_valid? results_values.include?(false) ? false : true end
result_exceptions()
click to toggle source
Return an exception for a list of validations with result false.
# File lib/chained_validation/validate.rb, line 45 def result_exceptions results_messages.each { |msg| raise TypeError, msg } end
results()
click to toggle source
Parse ChainedValidation::Validation
classes for one array of hashes with results:
- { :is_boolean=>{:object=>“foo”, :result=>false}}, {:is_boolean=>{:object=>true, :result=>true }}
# File lib/chained_validation/validate.rb, line 21 def results @validations.map(&:result).collect { |result| result.values.first } end
results_false()
click to toggle source
Return a hash for validation false.
- {:is_boolean=>{ :object=>“foo”, :result=>false }}
# File lib/chained_validation/validate.rb, line 33 def results_false @validations.map(&:result).collect { |result| result if result.values.first[:result] == false }.compact end
results_messages()
click to toggle source
Collect all error messages.
# File lib/chained_validation/validate.rb, line 38 def results_messages results_false.map do |result| "Object #{result.values.first[:object]} does not match the rule #{result.keys.first}" end end
results_values()
click to toggle source
Return only value of results in an array of booleans:
- false, true
# File lib/chained_validation/validate.rb, line 27 def results_values results.collect { |result| result[:result] } end