lib/lite/validators/url_validator.rb in lite-validators-1.0.7 vs lib/lite/validators/url_validator.rb in lite-validators-1.1.0
- old
+ new
@@ -29,18 +29,19 @@
raise URI::InvalidURIError if value.to_s.strip.empty?
valid_uri? && valid_domain? && valid_scheme? && valid_root?
end
- # rubocop:disable Metrics/AbcSize
+ # rubocop:disable Layout/LineLength, Metrics/AbcSize
def valid_domain?
return true unless options[:domain]
value_downcased = value.host.to_s.downcase
- check = [*options[:domain]].any? { |domain| value_downcased.end_with?(".#{domain.downcase}") }
+ check = Array(options[:domain]).any? { |domain| value_downcased.end_with?(".#{domain.downcase}") }
record.errors.add(attribute, error_message_for(:domain)) unless check
end
+ # rubocop:enable Layout/LineLength, Metrics/AbcSize
def valid_root?
return true unless options[:root_only]
check = ['', '/'].include?(value.path) && value.query.blank? && value.fragment.blank?
@@ -49,13 +50,12 @@
def valid_scheme?
return true unless options[:scheme]
value_downcased = value.scheme.to_s.downcase
- check = [*scheme].any? { |sch| value_downcased == sch.to_s.downcase }
+ check = Array(scheme).any? { |sch| value_downcased == sch.to_s.downcase }
record.errors.add(attribute, error_message_for(:scheme)) unless check
end
- # rubocop:enable Metrics/AbcSize
def valid_uri?
value.is_a?(URI::Generic)
end