challah 0.7.0 → 0.7.1
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/CHANGELOG.md +4 -0
- data/lib/challah/user.rb +4 -1
- data/lib/challah/version.rb +1 -1
- data/test/user_test.rb +12 -2
- metadata +31 -11
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## Challah 0.7.1
|
2
|
+
|
3
|
+
* Ensure users can be looked up by username as case insensitive value. Allows logins posted from iOS devices (with initial caps) to be valid usernames even when stored as caps.
|
4
|
+
|
1
5
|
## Challah 0.7.0
|
2
6
|
|
3
7
|
* Removed roles and permissions functionality to keep the gem completely geared towards user authentication. In a future release this functionality will be added back into its own separate gem.
|
data/lib/challah/user.rb
CHANGED
@@ -69,7 +69,7 @@ module Challah
|
|
69
69
|
|
70
70
|
result = nil
|
71
71
|
|
72
|
-
result = self.where(:username => username_or_email).first
|
72
|
+
result = self.where(:username => username_or_email.to_s.strip.downcase).first
|
73
73
|
|
74
74
|
unless result
|
75
75
|
if username_or_email.to_s.include?('@')
|
@@ -230,6 +230,9 @@ module Challah
|
|
230
230
|
if self.username.to_s.blank? and !self.email.to_s.blank?
|
231
231
|
self.username = self.email
|
232
232
|
end
|
233
|
+
|
234
|
+
# Make sure username stored is always stripped of whitespace and downcased
|
235
|
+
self.username = self.username.to_s.strip.downcase
|
233
236
|
end
|
234
237
|
|
235
238
|
# validation call for new passwords, make sure the password is confirmed, and is >= 4 characters
|
data/lib/challah/version.rb
CHANGED
data/test/user_test.rb
CHANGED
@@ -17,12 +17,15 @@ class UserTest < ActiveSupport::TestCase
|
|
17
17
|
|
18
18
|
context "A User class" do
|
19
19
|
should "find a user by username or email" do
|
20
|
-
user_one = create(:user, :username => '
|
21
|
-
user_two = create(:user, :username => 'test-user-2', :email => 'tester2@example.com')
|
20
|
+
user_one = create(:user, :username => ' Test-user ', :email => 'tester@example.com')
|
21
|
+
user_two = create(:user, :username => 'test-user-2 ', :email => 'tester2@example.com')
|
22
22
|
|
23
23
|
assert_equal user_one, ::User.find_for_session('test-user')
|
24
24
|
assert_equal user_one, ::User.find_for_session('tester@example.com')
|
25
25
|
|
26
|
+
assert_equal user_one, ::User.find_for_session('Test-user')
|
27
|
+
assert_equal user_one, ::User.find_for_session('tester@example.com')
|
28
|
+
|
26
29
|
assert_equal user_two, ::User.find_for_session('test-user-2')
|
27
30
|
assert_equal user_two, ::User.find_for_session('tester2@example.com')
|
28
31
|
|
@@ -132,6 +135,13 @@ class UserTest < ActiveSupport::TestCase
|
|
132
135
|
assert user.errors.full_messages.include?("Password does not match the confirmation password.")
|
133
136
|
end
|
134
137
|
|
138
|
+
should "always lower case a username when setting" do
|
139
|
+
user = build(:user)
|
140
|
+
user.username = 'JimBob'
|
141
|
+
assert user.save
|
142
|
+
assert_equal 'jimbob', user.username
|
143
|
+
end
|
144
|
+
|
135
145
|
should "authenticate through various means by default" do
|
136
146
|
user = create(:user)
|
137
147
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: challah
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: highline
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rails
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '3.1'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.1'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rake
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 0.9.2
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.9.2
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: bcrypt-ruby
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,7 +69,12 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
description: A simple Rails engine gem for authentication, authorization, users, roles
|
59
79
|
and permissions.
|
60
80
|
email:
|
@@ -5185,7 +5205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
5185
5205
|
version: '0'
|
5186
5206
|
requirements: []
|
5187
5207
|
rubyforge_project:
|
5188
|
-
rubygems_version: 1.8.
|
5208
|
+
rubygems_version: 1.8.23
|
5189
5209
|
signing_key:
|
5190
5210
|
specification_version: 3
|
5191
5211
|
summary: Simple authentication and authorization gem for Rails.
|