vizjerai-devise_security_extension 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.4
1
+ 0.3.5
@@ -21,7 +21,7 @@ module Devise
21
21
  base.class_eval do
22
22
 
23
23
  # uniq login
24
- validates authentication_keys[0], :uniqueness => {:scope => authentication_keys[1..-1]}#, :case_sensitive => case_insensitive_keys.exclude?(authentication_keys[0])
24
+ validates authentication_keys[0], :uniqueness => {:scope => authentication_keys[1..-1]} #, :case_sensitive => case_insensitive_keys.exclude?(authentication_keys[0])
25
25
 
26
26
  # validates email
27
27
  validates :email, :presence => true, :if => :email_required?
@@ -29,6 +29,9 @@ module Devise
29
29
 
30
30
  # validates password
31
31
  validates :password, :presence => true, :length => password_length, :format => password_regex, :confirmation => true, :if => :password_required?
32
+
33
+ # don't allow use same password
34
+ validate :current_equal_password_validation
32
35
  end
33
36
  end
34
37
 
@@ -36,6 +39,13 @@ module Devise
36
39
  raise "Could not use SecureValidatable on #{base}" unless base.respond_to?(:validates)
37
40
  end
38
41
 
42
+ def current_equal_password_validation
43
+ dummy = self.class.new
44
+ dummy.encrypted_password = self.encrypted_password
45
+ dummy.password_salt = self.password_salt
46
+ self.errors.add(:password, :equal_to_current_password) if dummy.valid_password?(self.password)
47
+ end
48
+
39
49
  protected
40
50
 
41
51
  # Checks whether a password is needed or not. For validations only.
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{vizjerai-devise_security_extension}
8
- s.version = "0.3.4"
8
+ s.version = "0.3.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Marco Scholl"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vizjerai-devise_security_extension
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 4
10
- version: 0.3.4
9
+ - 5
10
+ version: 0.3.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Marco Scholl