class Errapi::Validations::Base
Public Class Methods
new(options = {})
click to toggle source
# File lib/errapi/validations.rb, line 7 def initialize options = {} end
Public Instance Methods
actual_option_value(supplied_value, options)
click to toggle source
# File lib/errapi/validations.rb, line 10 def actual_option_value supplied_value, options if supplied_value.respond_to? :call supplied_value.call options[:source] elsif supplied_value.respond_to? :to_sym unless options[:source].respond_to? supplied_value raise ArgumentError, "The validation source (#{options[:source].class.name}) does not respond to :#{supplied_value}." else options[:source].send supplied_value end else supplied_value end end
callable_option_type_error(key_desc, value_desc, supplied_value)
click to toggle source
# File lib/errapi/validations.rb, line 33 def callable_option_type_error key_desc, value_desc, supplied_value ArgumentError.new "The #{key_desc} option must be #{value_desc}, a proc, a lambda or a symbol, but a #{supplied_value.class.name} was given." end
callable_option_value?(supplied_value)
click to toggle source
# File lib/errapi/validations.rb, line 24 def callable_option_value? supplied_value supplied_value.respond_to?(:call) || supplied_value.respond_to?(:to_sym) end
callable_option_value_error(key_desc, type_desc, supplied_value)
click to toggle source
# File lib/errapi/validations.rb, line 37 def callable_option_value_error key_desc, type_desc, supplied_value ArgumentError.new "The call supplied to #{key_desc} must return #{type_desc}, but a #{supplied_value.class.name} was returned." end
exactly_one_option?(keys, options)
click to toggle source
# File lib/errapi/validations.rb, line 28 def exactly_one_option? keys, options found_keys = options.keys.select{ |k| keys.include? k } found_keys.length == 1 ? found_keys.first : false end