lib/truemail/configuration.rb in truemail-1.0.0 vs lib/truemail/configuration.rb in truemail-1.0.1
- old
+ new
@@ -33,11 +33,11 @@
@smtp_safe_check = false
end
%i[email_pattern smtp_error_body_pattern].each do |method|
define_method("#{method}=") do |argument|
- raise Truemail::ArgumentError.new(argument, __method__) unless argument.is_a?(Regexp)
+ raise_unless(argument, __method__, argument.is_a?(Regexp))
instance_variable_set(:"@#{method}", argument)
end
end
def verifier_email=(email)
@@ -51,11 +51,11 @@
@verifier_domain = domain.downcase
end
%i[connection_timeout response_timeout connection_attempts].each do |method|
define_method("#{method}=") do |argument|
- raise ArgumentError.new(argument, __method__) unless argument.is_a?(Integer) && argument.positive?
+ raise_unless(argument, __method__, argument.is_a?(Integer) && argument.positive?)
instance_variable_set(:"@#{method}", argument)
end
end
def validation_type_for=(settings)
@@ -63,24 +63,28 @@
validation_type_by_domain.merge!(settings)
end
%i[whitelisted_domains blacklisted_domains].each do |method|
define_method("#{method}=") do |argument|
- raise ArgumentError.new(argument, __method__) unless argument.is_a?(Array) && check_domain_list(argument)
+ raise_unless(argument, __method__, argument.is_a?(Array) && check_domain_list(argument))
instance_variable_set(:"@#{method}", argument)
end
end
def complete?
!!verifier_email
end
private
+ def raise_unless(argument_context, argument_name, condition)
+ raise Truemail::ArgumentError.new(argument_context, argument_name) unless condition
+ end
+
def validate_arguments(argument, method)
constant = Truemail::RegexConstant.const_get("regex_#{method[/\A.+_(.+)\=\z/, 1]}_pattern".upcase)
- raise Truemail::ArgumentError.new(argument, method) unless constant.match?(argument.to_s)
+ raise_unless(argument, method, constant.match?(argument.to_s))
end
def default_verifier_domain
self.verifier_domain ||= verifier_email[Truemail::RegexConstant::REGEX_EMAIL_PATTERN, 3]
end
@@ -88,23 +92,22 @@
def domain_matcher
->(domain) { Truemail::RegexConstant::REGEX_DOMAIN_PATTERN.match?(domain.to_s) }
end
def check_domain(domain)
- raise Truemail::ArgumentError.new(domain, 'domain') unless domain_matcher.call(domain)
+ raise_unless(domain, 'domain', domain_matcher.call(domain))
end
def check_domain_list(domains)
domains.all?(&domain_matcher)
end
def check_validation_type(validation_type)
- raise Truemail::ArgumentError.new(validation_type, 'validation type') unless
- Truemail::Validator::VALIDATION_TYPES.include?(validation_type)
+ raise_unless(validation_type, 'validation type', Truemail::Validator::VALIDATION_TYPES.include?(validation_type))
end
def validate_validation_type(settings)
- raise Truemail::ArgumentError.new(settings, 'hash with settings') unless settings.is_a?(Hash)
+ raise_unless(settings, 'hash with settings', settings.is_a?(Hash))
settings.each do |domain, validation_type|
check_domain(domain)
check_validation_type(validation_type)
end
end