From b330d1f000ef354a856c43aeaa27e079c89fc822 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 13 Apr 2017 10:00:31 -0400 Subject: Organize coverage dirs (#1695) * Add `Presenters` group to SimpleCov configuration * Move validators to app/validators, add to simplecov config --- app/lib/email_validator.rb | 31 ------------------------------- app/lib/status_length_validator.rb | 10 ---------- app/lib/url_validator.rb | 14 -------------- 3 files changed, 55 deletions(-) delete mode 100644 app/lib/email_validator.rb delete mode 100644 app/lib/status_length_validator.rb delete mode 100644 app/lib/url_validator.rb (limited to 'app/lib') diff --git a/app/lib/email_validator.rb b/app/lib/email_validator.rb deleted file mode 100644 index 06e9375f6..000000000 --- a/app/lib/email_validator.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -class EmailValidator < ActiveModel::EachValidator - def validate_each(record, attribute, value) - record.errors.add(attribute, I18n.t('users.invalid_email')) if blocked_email?(value) - end - - private - - def blocked_email?(value) - on_blacklist?(value) || not_on_whitelist?(value) - end - - def on_blacklist?(value) - return false if Rails.configuration.x.email_domains_blacklist.blank? - - domains = Rails.configuration.x.email_domains_blacklist.gsub('.', '\.') - regexp = Regexp.new("@(.+\\.)?(#{domains})", true) - - value =~ regexp - end - - def not_on_whitelist?(value) - return false if Rails.configuration.x.email_domains_whitelist.blank? - - domains = Rails.configuration.x.email_domains_whitelist.gsub('.', '\.') - regexp = Regexp.new("@(.+\\.)?(#{domains})", true) - - value !~ regexp - end -end diff --git a/app/lib/status_length_validator.rb b/app/lib/status_length_validator.rb deleted file mode 100644 index 55135a598..000000000 --- a/app/lib/status_length_validator.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -class StatusLengthValidator < ActiveModel::Validator - MAX_CHARS = 500 - - def validate(status) - return unless status.local? && !status.reblog? - status.errors.add(:text, I18n.t('statuses.over_character_limit', max: MAX_CHARS)) if [status.text, status.spoiler_text].join.length > MAX_CHARS - end -end diff --git a/app/lib/url_validator.rb b/app/lib/url_validator.rb deleted file mode 100644 index 4a5c4ef3f..000000000 --- a/app/lib/url_validator.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -class UrlValidator < ActiveModel::EachValidator - def validate_each(record, attribute, value) - record.errors.add(attribute, I18n.t('applications.invalid_url')) unless compliant?(value) - end - - private - - def compliant?(url) - parsed_url = Addressable::URI.parse(url) - !parsed_url.nil? && %w(http https).include?(parsed_url.scheme) && parsed_url.host - end -end -- cgit