Sha256: c80285d743c04cbb783dcba3d90161996781fd2beeae9e54cfd9443c0df0bb56

Contents?: true

Size: 385 Bytes

Versions: 5

Compression:

Stored size: 385 Bytes

Contents

# frozen_string_literal: true

module PagesCore
  module Emailable
    extend ActiveSupport::Concern

    included do
      validates :email,
                presence: true,
                format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i },
                uniqueness: { case_sensitive: false }

      normalizes :email, with: ->(email) { email.strip }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pages_core-3.15.5 app/models/concerns/pages_core/emailable.rb
pages_core-3.15.4 app/models/concerns/pages_core/emailable.rb
pages_core-3.15.3 app/models/concerns/pages_core/emailable.rb
pages_core-3.15.2 app/models/concerns/pages_core/emailable.rb
pages_core-3.15.1 app/models/concerns/pages_core/emailable.rb