simple_auth 0.1.3 → 0.1.4
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.
- data/VERSION +1 -1
- data/lib/simple_auth/active_record.rb +15 -2
- data/lib/simple_auth/version.rb +1 -1
- data/simple_auth.gemspec +2 -2
- data/spec/simple_auth/active_record_spec.rb +24 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
@@ -1,6 +1,15 @@
|
|
1
1
|
module SimpleAuth
|
2
2
|
module ActiveRecord
|
3
3
|
module InstanceMethods
|
4
|
+
def password=(password)
|
5
|
+
@password_changed = true
|
6
|
+
@password = password
|
7
|
+
end
|
8
|
+
|
9
|
+
def password_changed?
|
10
|
+
@password_changed == true
|
11
|
+
end
|
12
|
+
|
4
13
|
private
|
5
14
|
def encrypt_password
|
6
15
|
self.password_salt = SimpleAuth::Config.salt.call(self)
|
@@ -10,10 +19,14 @@ module SimpleAuth
|
|
10
19
|
def erase_password
|
11
20
|
self.password = nil
|
12
21
|
self.password_confirmation = nil
|
22
|
+
|
23
|
+
# Mark password as unchanged after erasing passwords,
|
24
|
+
# or it will be marked as changed anyway
|
25
|
+
@password_changed = false
|
13
26
|
end
|
14
27
|
|
15
28
|
def validate_password?
|
16
|
-
new_record? ||
|
29
|
+
new_record? || password_changed?
|
17
30
|
end
|
18
31
|
end
|
19
32
|
|
@@ -62,7 +75,7 @@ module SimpleAuth
|
|
62
75
|
# end
|
63
76
|
# end
|
64
77
|
def has_authentication(&block)
|
65
|
-
|
78
|
+
attr_reader :password
|
66
79
|
attr_accessor :password_confirmation
|
67
80
|
|
68
81
|
SimpleAuth.setup(&block)
|
data/lib/simple_auth/version.rb
CHANGED
data/simple_auth.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{simple_auth}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Nando Vieira"]
|
12
|
-
s.date = %q{2010-01-
|
12
|
+
s.date = %q{2010-01-27}
|
13
13
|
s.description = %q{When Authlogic & Devise are just too much.
|
14
14
|
}
|
15
15
|
s.email = %q{fnando.vieira@gmail.com}
|
@@ -34,6 +34,22 @@ describe SimpleAuth::ActiveRecord do
|
|
34
34
|
subject.password.should be_nil
|
35
35
|
subject.password_confirmation.should be_nil
|
36
36
|
end
|
37
|
+
|
38
|
+
it "should mark password as changed" do
|
39
|
+
subject = User.new(:password => "test")
|
40
|
+
subject.password_changed?.should be_true
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should not mark password as changed" do
|
44
|
+
subject = User.new
|
45
|
+
subject.password_changed?.should be_false
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should mark password as unchanged after saving" do
|
49
|
+
subject = User.new(:password => "test", :password_confirmation => "test")
|
50
|
+
subject.save(false)
|
51
|
+
subject.password_changed?.should be_false
|
52
|
+
end
|
37
53
|
end
|
38
54
|
|
39
55
|
context "existing record" do
|
@@ -56,11 +72,18 @@ describe SimpleAuth::ActiveRecord do
|
|
56
72
|
subject.should be_valid
|
57
73
|
end
|
58
74
|
|
59
|
-
it "should
|
75
|
+
it "should require password confirmation when it has changed" do
|
60
76
|
subject.password = "newpass"
|
77
|
+
subject.should_not be_valid
|
61
78
|
subject.should have(1).error_on(:password_confirmation)
|
62
79
|
end
|
63
80
|
|
81
|
+
it "should require password when it has changed to blank" do
|
82
|
+
subject.password = nil
|
83
|
+
subject.should_not be_valid
|
84
|
+
subject.should have(1).error_on(:password)
|
85
|
+
end
|
86
|
+
|
64
87
|
it "should authenticate using email" do
|
65
88
|
User.authenticate("john@doe.com", "test").should == subject
|
66
89
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Vieira
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-27 00:00:00 -02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|