Sha256: f7b8be5e53e688a7de0c65f75fba2075d9522999981ab02fadfd30cb6abd6f6e

Contents?: true

Size: 381 Bytes

Versions: 10

Compression:

Stored size: 381 Bytes

Contents

# frozen_string_literal: true

class EmailValidator < BaseValidator

  REGEXP ||= /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i.freeze

  private

  def valid_attr?
    valid_regexp? && valid_domain?
  end

  def valid_domain?
    return true unless options.key?(:domain)

    [options[:domain]].flatten.any? { |domain| value.downcase.end_with?(".#{domain.downcase}") }
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
lite-validators-1.1.1 lib/lite/validators/email_validator.rb
lite-validators-1.1.0 lib/lite/validators/email_validator.rb
lite-validators-1.0.7 lib/lite/validators/email_validator.rb
lite-validators-1.0.6 lib/lite/validators/email_validator.rb
lite-validators-1.0.5 lib/lite/validators/email_validator.rb
lite-validators-1.0.4 lib/lite/validators/email_validator.rb
lite-validators-1.0.3 lib/lite/validators/email_validator.rb
lite-validators-1.0.2 lib/lite/validators/email_validator.rb
lite-validators-1.0.1 lib/lite/validators/email_validator.rb
lite-validators-1.0.0 lib/lite/validators/email_validator.rb