has_token_id 0.1.0 → 0.2.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/README.md +1 -1
- data/lib/has_token_id/concern.rb +8 -1
- data/lib/has_token_id/version.rb +1 -1
- data/test/unit/concern_test.rb +18 -2
- metadata +17 -17
data/README.md
CHANGED
data/lib/has_token_id/concern.rb
CHANGED
@@ -43,7 +43,14 @@ module HasTokenId
|
|
43
43
|
|
44
44
|
# Find by token
|
45
45
|
def find_by_token(token)
|
46
|
-
send(has_token_id_options[:case_sensitive] ? :find_by_case_sensitive_token : :find_by_case_insensitive_token, token)
|
46
|
+
send(has_token_id_options[:case_sensitive] ? :find_by_case_sensitive_token : :find_by_case_insensitive_token, token) rescue nil
|
47
|
+
end
|
48
|
+
|
49
|
+
# Find by token and raise error if no record is found
|
50
|
+
def find_by_token!(token)
|
51
|
+
record = find_by_token(token)
|
52
|
+
raise ActiveRecord::RecordNotFound, "Could not find #{self.name} with token #{token.inspect}" if record.nil?
|
53
|
+
record
|
47
54
|
end
|
48
55
|
|
49
56
|
# Find by token if the first param looks like a token, otherwise use super
|
data/lib/has_token_id/version.rb
CHANGED
data/test/unit/concern_test.rb
CHANGED
@@ -89,14 +89,20 @@ class ConcernTest < MiniTest::Should::TestCase
|
|
89
89
|
|
90
90
|
should "find by token" do
|
91
91
|
assert_equal @item, Item.find(@item.token)
|
92
|
+
assert_equal @item, Item.find_by_token(@item.token)
|
93
|
+
assert_equal @item, Item.find_by_token!(@item.token)
|
92
94
|
end
|
93
95
|
|
94
96
|
should "find by token even if it's all uppercase" do
|
95
97
|
assert_equal @item, Item.find(@item.token.upcase)
|
98
|
+
assert_equal @item, Item.find_by_token(@item.token.upcase)
|
99
|
+
assert_equal @item, Item.find_by_token!(@item.token.upcase)
|
96
100
|
end
|
97
101
|
|
98
102
|
should "find by token even if it's all lowercase" do
|
99
103
|
assert_equal @item, Item.find(@item.token.downcase)
|
104
|
+
assert_equal @item, Item.find_by_token(@item.token.downcase)
|
105
|
+
assert_equal @item, Item.find_by_token!(@item.token.downcase)
|
100
106
|
end
|
101
107
|
|
102
108
|
end
|
@@ -109,17 +115,27 @@ class ConcernTest < MiniTest::Should::TestCase
|
|
109
115
|
|
110
116
|
should "find by token" do
|
111
117
|
assert_equal @item, Item.find(@item.token)
|
118
|
+
assert_equal @item, Item.find_by_token(@item.token)
|
119
|
+
assert_equal @item, Item.find_by_token!(@item.token)
|
112
120
|
end
|
113
121
|
|
114
122
|
should "not find by token if it's all uppercase" do
|
115
123
|
assert_raises ActiveRecord::RecordNotFound do
|
116
124
|
Item.find(@item.token.upcase)
|
117
125
|
end
|
126
|
+
assert_equal nil, Item.find_by_token(@item.token.upcase)
|
127
|
+
assert_raises ActiveRecord::RecordNotFound do
|
128
|
+
Item.find_by_token!(@item.token.upcase)
|
129
|
+
end
|
118
130
|
end
|
119
131
|
|
120
|
-
should "find by token
|
132
|
+
should "not find by token if it's all lowercase" do
|
133
|
+
assert_raises ActiveRecord::RecordNotFound do
|
134
|
+
Item.find(@item.token.downcase)
|
135
|
+
end
|
136
|
+
assert_equal nil, Item.find_by_token(@item.token.downcase)
|
121
137
|
assert_raises ActiveRecord::RecordNotFound do
|
122
|
-
assert Item.
|
138
|
+
assert Item.find_by_token!(@item.token.downcase)
|
123
139
|
end
|
124
140
|
end
|
125
141
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_token_id
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-27 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &70283871501780 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70283871501780
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &70283871501060 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.0.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70283871501060
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &70283871500300 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 3.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70283871500300
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: dummier
|
49
|
-
requirement: &
|
49
|
+
requirement: &70283871499760 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.3.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70283871499760
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: minitest
|
60
|
-
requirement: &
|
60
|
+
requirement: &70283871499140 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 2.0.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70283871499140
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: minitest_should
|
71
|
-
requirement: &
|
71
|
+
requirement: &70283871497700 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 0.3.1
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70283871497700
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: sqlite3
|
82
|
-
requirement: &
|
82
|
+
requirement: &70283871496720 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: 1.3.5
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70283871496720
|
91
91
|
description: Identifies your active records with a random token. For more information,
|
92
92
|
please see the documentation.
|
93
93
|
email:
|
@@ -128,7 +128,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
128
128
|
version: '0'
|
129
129
|
segments:
|
130
130
|
- 0
|
131
|
-
hash:
|
131
|
+
hash: 2547320390415965778
|
132
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
133
|
none: false
|
134
134
|
requirements:
|
@@ -137,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
137
|
version: '0'
|
138
138
|
segments:
|
139
139
|
- 0
|
140
|
-
hash:
|
140
|
+
hash: 2547320390415965778
|
141
141
|
requirements: []
|
142
142
|
rubyforge_project:
|
143
143
|
rubygems_version: 1.8.10
|