devise_deactivatable 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,14 @@
|
|
1
1
|
module Devise
|
2
2
|
module Models
|
3
3
|
module Deactivatable
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
|
6
|
+
included do
|
7
|
+
scope :deactivated, -> { where("'deactivated_at' is not NULL") }
|
8
|
+
end
|
9
|
+
|
4
10
|
def self.required_fields(klass)
|
5
|
-
|
6
|
-
attributes
|
11
|
+
[:deactivated_at]
|
7
12
|
end
|
8
13
|
|
9
14
|
# Overwrites active_for_authentication? from Devise::Models::Activatable for deactivate purposes
|
@@ -14,7 +19,10 @@ module Devise
|
|
14
19
|
|
15
20
|
def deactivate!
|
16
21
|
self.deactivated_at = Time.now
|
17
|
-
save
|
22
|
+
save(validate: false) or raise "Devise deactivatable could not save #{inspect}." \
|
23
|
+
"Please make sure a model using deactivatable can be saved when deactivating."
|
24
|
+
|
25
|
+
after_deactivate
|
18
26
|
end
|
19
27
|
|
20
28
|
def deactivated?
|
@@ -26,6 +34,25 @@ module Devise
|
|
26
34
|
def inactive_message
|
27
35
|
deactivated? ? :deactivated : super
|
28
36
|
end
|
37
|
+
|
38
|
+
protected
|
39
|
+
|
40
|
+
# A callback initiated after successfully deactivating. This can be
|
41
|
+
# used to insert your own logic that is only run after the user successfully
|
42
|
+
# deactivated.
|
43
|
+
#
|
44
|
+
# Example:
|
45
|
+
#
|
46
|
+
# def after_deactivated
|
47
|
+
# # remove oauth tokens
|
48
|
+
# end
|
49
|
+
#
|
50
|
+
def after_deactivate
|
51
|
+
end
|
52
|
+
|
53
|
+
module ClassMethods
|
54
|
+
|
55
|
+
end
|
29
56
|
end
|
30
57
|
end
|
31
58
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise_deactivatable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 7
|
10
|
+
version: 0.2.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Elan Meng
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2014-06-
|
18
|
+
date: 2014-06-05 00:00:00 +08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|