class PoroValidator::Configuration::Message

Constants

DEFAULT_MESSAGES

@private_const

Public Class Methods

new() click to toggle source
# File lib/poro_validator/configuration.rb, line 36
def initialize
  @messages = {}
end

Public Instance Methods

get(validator, *args) click to toggle source
# File lib/poro_validator/configuration.rb, line 40
def get(validator, *args)
  args.compact.length > 0 ? message(validator).call(*args) : message(validator).call
end
set(validator, message) click to toggle source
# File lib/poro_validator/configuration.rb, line 44
def set(validator, message)
  unless message.is_a?(::Proc)
    raise PoroValidator::ConfigError.new(
      "A proc/lambda is required to configure validator messages"
    )
  end
  @messages[validator] = message
end

Private Instance Methods

message(validator) click to toggle source
# File lib/poro_validator/configuration.rb, line 55
def message(validator)
  @messages[validator] || DEFAULT_MESSAGES[validator] ||
    DEFAULT_MESSAGES[:default]
end