simple_auth 1.3.3 → 1.4.0

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/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
- source :rubygems
1
+ source "http://gems.simplesideias.com.br"
2
2
  gemspec
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- simple_auth (1.3.3)
4
+ simple_auth (1.4.0)
5
5
  rails (>= 3.0.0)
6
6
 
7
7
  GEM
8
- remote: http://rubygems.org/
8
+ remote: http://gems.simplesideias.com.br/
9
9
  specs:
10
10
  abstract (1.0.0)
11
11
  actionmailer (3.0.7)
@@ -35,7 +35,7 @@ GEM
35
35
  activesupport (= 3.0.7)
36
36
  activesupport (3.0.7)
37
37
  archive-tar-minitar (0.5.2)
38
- arel (2.0.9)
38
+ arel (2.0.10)
39
39
  bson (1.3.0)
40
40
  bson_ext (1.3.0)
41
41
  builder (2.1.2)
@@ -2,6 +2,14 @@ module SimpleAuth
2
2
  module Orm
3
3
  module Base
4
4
  module InstanceMethods
5
+ def require_password!
6
+ @require_password = true
7
+ end
8
+
9
+ def require_password?
10
+ @require_password
11
+ end
12
+
5
13
  def password=(password)
6
14
  @password_changed = true
7
15
  @password = password
@@ -28,10 +36,13 @@ module SimpleAuth
28
36
  # Mark password as unchanged after erasing passwords,
29
37
  # or it will be marked as changed anyway
30
38
  @password_changed = false
39
+
40
+ # Also erase require password
41
+ @require_password = false
31
42
  end
32
43
 
33
44
  def validate_password?
34
- new_record? || password_changed?
45
+ new_record? || password_changed? || require_password?
35
46
  end
36
47
  end
37
48
 
@@ -1,8 +1,8 @@
1
1
  module SimpleAuth
2
2
  module Version
3
3
  MAJOR = 1
4
- MINOR = 3
5
- PATCH = 3
4
+ MINOR = 4
5
+ PATCH = 0
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
8
8
  end
data/spec/spec_helper.rb CHANGED
@@ -112,6 +112,26 @@ shared_examples_for "orm" do
112
112
  subject.should be_valid
113
113
  end
114
114
 
115
+ it "should require password when explicitly said so" do
116
+ subject.require_password!
117
+ subject.should_not be_valid
118
+ subject.errors[:password].should_not be_empty
119
+ end
120
+
121
+ it "should require password" do
122
+ subject.require_password?.should be_false
123
+ subject.require_password!
124
+ subject.require_password?.should be_true
125
+ end
126
+
127
+ it "should not require password after saving" do
128
+ subject.require_password!
129
+ subject.password = "newpass"
130
+ subject.password_confirmation = "newpass"
131
+ subject.save.should be_true
132
+ subject.require_password?.should be_false
133
+ end
134
+
115
135
  it "should require password confirmation when it has changed" do
116
136
  subject.password = "newpass"
117
137
  subject.should_not be_valid
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: simple_auth
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.3.3
5
+ version: 1.4.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Nando Vieira
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-01 00:00:00 Z
13
+ date: 2011-05-20 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  requirements: []
151
151
 
152
152
  rubyforge_project:
153
- rubygems_version: 1.7.2
153
+ rubygems_version: 1.8.1
154
154
  signing_key:
155
155
  specification_version: 3
156
156
  summary: A simple authentication system for Rails apps