module StubRequests::Concerns::ArgumentValidation
Module
ArgumentValidation
provides validation of method arguments
@author Mikael Henriksson <mikael@zoolutions.se>
Public Instance Methods
validate!(name:, value:, type:)
click to toggle source
Require the value to be any of the types past in
@param [Symbol] name the name of the argument @param [Object] value the actual value of the argument @param [Array, Class
, Module] type nil the expected argument value class
@raise [InvalidArgumentType] when the value is disallowed
@return [void]
# File lib/stub_requests/concerns/argument_validation.rb, line 31 def validate!(name:, value:, type:) validate_type!(:name, name, [Symbol, String]) unless name validate_type!(name, value, type) if type end
validate_type!(name, value, type)
click to toggle source
# File lib/stub_requests/concerns/argument_validation.rb, line 36 def validate_type!(name, value, type) expected_types = Array(type).flatten return if expected_types.any? { |is_a| value.is_a?(is_a) } raise StubRequests::InvalidArgumentType, name: name, actual: value.class, expected: expected_types end