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
- attributes = [:deactivated_at]
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!(:validate => false)
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
@@ -1,3 +1,3 @@
1
1
  module DeviseDeactivatable
2
- VERSION = "0.2.5".freeze
2
+ VERSION = "0.2.7".freeze
3
3
  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: 29
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 5
10
- version: 0.2.5
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-04 00:00:00 +08:00
18
+ date: 2014-06-05 00:00:00 +08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency