class Pakyow::Verifier::Result

Public Class Methods

new() click to toggle source
# File lib/pakyow/verifier.rb, line 13
def initialize
  @errors = {}
  @nested = {}
  @validation = nil
end

Public Instance Methods

error(key, message) click to toggle source
# File lib/pakyow/verifier.rb, line 19
def error(key, message)
  (@errors[key] ||= []) << message
end
messages(type: :default) click to toggle source
# File lib/pakyow/verifier.rb, line 41
def messages(type: :default)
  if validating?
    messages = @validation.messages(type: type)
  else
    messages = {}

    @errors.each_pair do |key, value|
      messages[key] = value.map { |each_value|
        Verifier.formatted_message(each_value, type: type, key: key)
      }
    end

    @nested.each_pair do |key, verifier|
      nested_messages = verifier.messages(type: type)

      unless nested_messages.empty?
        messages[key] = nested_messages
      end
    end
  end

  messages
end
nested(key, result) click to toggle source
# File lib/pakyow/verifier.rb, line 23
def nested(key, result)
  @nested[key] = result
end
validating?() click to toggle source
# File lib/pakyow/verifier.rb, line 37
def validating?
  !@validation.nil?
end
validation(result) click to toggle source
# File lib/pakyow/verifier.rb, line 27
def validation(result)
  @validation = result
end
verified?() click to toggle source
# File lib/pakyow/verifier.rb, line 31
def verified?
  @errors.empty? && (!validating? || @validation.valid?) && @nested.all? { |_, result|
    result.verified?
  }
end