module Sorcery::Model::Submodules::UserActivation::InstanceMethods

Attributes

skip_activation_needed_email[RW]
skip_activation_success_email[RW]

Public Instance Methods

activate!() click to toggle source

clears activation code, sets the user as 'active' and optionaly sends a success email.

# File lib/sorcery/model/submodules/user_activation.rb, line 99
def activate!
  config = sorcery_config
  send(:"#{config.activation_token_attribute_name}=", nil)
  send(:"#{config.activation_state_attribute_name}=", 'active')
  send_activation_success_email! if send_activation_success_email?
  sorcery_adapter.save(validate: false, raise_on_failure: true)
end
setup_activation() click to toggle source
# File lib/sorcery/model/submodules/user_activation.rb, line 90
def setup_activation
  config = sorcery_config
  generated_activation_token = TemporaryToken.generate_random_token
  send(:"#{config.activation_token_attribute_name}=", generated_activation_token)
  send(:"#{config.activation_state_attribute_name}=", 'pending')
  send(:"#{config.activation_token_expires_at_attribute_name}=", Time.now.in_time_zone + config.activation_token_expiration_period) if config.activation_token_expiration_period
end

Protected Instance Methods

prevent_non_active_login() click to toggle source
# File lib/sorcery/model/submodules/user_activation.rb, line 132
def prevent_non_active_login
  config = sorcery_config

  if config.prevent_non_active_users_to_login
    unless send(config.activation_state_attribute_name) == 'active'
      return false, :inactive
    end
  end

  true
end
send_activation_needed_email!() click to toggle source

called automatically after user initial creation.

# File lib/sorcery/model/submodules/user_activation.rb, line 112
def send_activation_needed_email!
  generic_send_email(:activation_needed_email_method_name, :user_activation_mailer)
end
send_activation_needed_email?() click to toggle source
# File lib/sorcery/model/submodules/user_activation.rb, line 126
def send_activation_needed_email?
  !external? &&
    !(sorcery_config.activation_needed_email_method_name.nil? || sorcery_config.activation_mailer_disabled == true) &&
    !skip_activation_needed_email
end
send_activation_success_email!() click to toggle source
# File lib/sorcery/model/submodules/user_activation.rb, line 116
def send_activation_success_email!
  generic_send_email(:activation_success_email_method_name, :user_activation_mailer)
end
send_activation_success_email?() click to toggle source
# File lib/sorcery/model/submodules/user_activation.rb, line 120
def send_activation_success_email?
  !external? &&
    !(sorcery_config.activation_success_email_method_name.nil? || sorcery_config.activation_mailer_disabled == true) &&
    !skip_activation_success_email
end