9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/sorcery/model/submodules/user_activation.rb', line 9
def self.included(base)
base.sorcery_config.class_eval do
attr_accessor :activation_state_attribute_name,
:activation_token_attribute_name,
:activation_token_expires_at_attribute_name,
:activation_token_expiration_period,
:user_activation_mailer,
:activation_needed_email_method_name,
:activation_success_email_method_name,
:prevent_non_active_users_to_login
end
base.sorcery_config.instance_eval do
@defaults.merge!(:@activation_state_attribute_name => :activation_state,
:@activation_token_attribute_name => :activation_token,
:@activation_token_expires_at_attribute_name => :activation_token_expires_at,
:@activation_token_expiration_period => nil,
:@user_activation_mailer => nil,
:@activation_needed_email_method_name => :activation_needed_email,
:@activation_success_email_method_name => :activation_success_email,
:@prevent_non_active_users_to_login => true)
reset!
end
base.class_eval do
before_create :setup_activation, :if => Proc.new { |user| user.send(sorcery_config.password_attribute_name).present? }
after_create :send_activation_needed_email!, :if => Proc.new { |user| !user.external?}
end
base.sorcery_config.after_config << :validate_mailer_defined
base.sorcery_config.after_config << :define_user_activation_mongoid_fields if defined?(Mongoid) and base.ancestors.include?(Mongoid::Document)
base.sorcery_config.before_authenticate << :prevent_non_active_login
base.extend(ClassMethods)
base.send(:include, InstanceMethods)
end
|