Module: Authlogic::ActsAsAuthentic::Email::Config

Defined in:
lib/authlogic/acts_as_authentic/email.rb

Overview

Configuration to modify how Authlogic handles the email field.

Instance Method Summary collapse

Instance Method Details

#email_field(value = nil) ⇒ Object Also known as: email_field=

The name of the field that stores email addresses.

  • Default: :email, if it exists

  • Accepts: Symbol



21
22
23
# File 'lib/authlogic/acts_as_authentic/email.rb', line 21

def email_field(value = nil)
  rw_config(:email_field, value, first_column_to_exist(nil, :email, :email_address))
end

#merge_validates_format_of_email_field_options(options = {}) ⇒ Object

See merge_validates_length_of_email_field_options. The same thing except for validates_format_of_email_field_options.



103
104
105
# File 'lib/authlogic/acts_as_authentic/email.rb', line 103

def merge_validates_format_of_email_field_options(options = {})
  self.validates_format_of_email_field_options = validates_format_of_email_field_options.merge(options)
end

#merge_validates_length_of_email_field_options(options = {}) ⇒ Object

A convenience function to merge options into the validates_length_of_email_field_options. So instead of:

self.validates_length_of_email_field_options = validates_length_of_email_field_options.merge(:my_option => my_value)

You can do this:

merge_validates_length_of_email_field_options :my_option => my_value


55
56
57
# File 'lib/authlogic/acts_as_authentic/email.rb', line 55

def merge_validates_length_of_email_field_options(options = {})
  self.validates_length_of_email_field_options = validates_length_of_email_field_options.merge(options)
end

#merge_validates_uniqueness_of_email_field_options(options = {}) ⇒ Object

See merge_validates_length_of_email_field_options. The same thing except for validates_uniqueness_of_email_field_options.



139
140
141
# File 'lib/authlogic/acts_as_authentic/email.rb', line 139

def merge_validates_uniqueness_of_email_field_options(options = {})
  self.validates_uniqueness_of_email_field_options = validates_uniqueness_of_email_field_options.merge(options)
end

#validate_email_field(value = nil) ⇒ Object Also known as: validate_email_field=

Toggles validating the email field or not.

  • Default: true

  • Accepts: Boolean



30
31
32
# File 'lib/authlogic/acts_as_authentic/email.rb', line 30

def validate_email_field(value = nil)
  rw_config(:validate_email_field, value, true)
end

#validates_format_of_email_field_options(value = nil) ⇒ Object Also known as: validates_format_of_email_field_options=

A hash of options for the validates_format_of call for the email field. Allows you to change this however you want.

Keep in mind this is ruby. I wanted to keep this as flexible as possible, so you can completely replace the hash or merge options into it. Checkout the convenience function merge_validates_format_of_email_field_options to merge options.

To validate international email addresses, enable the provided alternate regex:

  • validates_format_of_email_field_options({:with => Authlogic::Regex.email_nonascii})

  • Default:

    {
      :with => Authlogic::Regex.email,
      :message => Proc.new {
        I18n.t(
          'error_messages.email_invalid',
          :default => "should look like an email address."
        )
      }
    }
    
  • Accepts: Hash of options accepted by validates_format_of



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/authlogic/acts_as_authentic/email.rb', line 85

def validates_format_of_email_field_options(value = nil)
  rw_config(
    :validates_format_of_email_field_options,
    value,
    {
      :with => Authlogic::Regex.email,
      :message => Proc.new do
        I18n.t(
          'error_messages.email_invalid',
          :default => "should look like an email address."
        )
      end
    }
  )
end

#validates_length_of_email_field_options(value = nil) ⇒ Object Also known as: validates_length_of_email_field_options=

A hash of options for the validates_length_of call for the email field. Allows you to change this however you want.

Keep in mind this is ruby. I wanted to keep this as flexible as possible, so you can completely replace the hash or merge options into it. Checkout the convenience function merge_validates_length_of_email_field_options to merge options.

  • Default: => 100

  • Accepts: Hash of options accepted by validates_length_of



43
44
45
# File 'lib/authlogic/acts_as_authentic/email.rb', line 43

def validates_length_of_email_field_options(value = nil)
  rw_config(:validates_length_of_email_field_options, value, { :maximum => 100 })
end

#validates_uniqueness_of_email_field_options(value = nil) ⇒ Object Also known as: validates_uniqueness_of_email_field_options=

A hash of options for the validates_uniqueness_of call for the email field. Allows you to change this however you want.

Keep in mind this is ruby. I wanted to keep this as flexible as possible, so you can completely replace the hash or merge options into it. Checkout the convenience function merge_validates_uniqueness_of_email_field_options to merge options.

  • Default:

    {
      :case_sensitive => false,
      :scope => validations_scope,
      :if => "#{email_field}_changed?".to_sym
    }
    
  • Accepts: Hash of options accepted by validates_uniqueness_of



125
126
127
128
129
130
131
132
133
134
135
# File 'lib/authlogic/acts_as_authentic/email.rb', line 125

def validates_uniqueness_of_email_field_options(value = nil)
  rw_config(
    :validates_uniqueness_of_email_field_options,
    value,
    {
      :case_sensitive => false,
      :scope => validations_scope,
      :if => "#{email_field}_changed?".to_sym
    }
  )
end