devise_deactivatable 0.2.5 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -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