has_token_id 0.3.0 → 0.3.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/README.md +2 -2
- data/lib/has_token_id/concern.rb +25 -25
- data/lib/has_token_id/version.rb +1 -1
- metadata +18 -18
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# has_token_id [](http://travis-ci.org/citrus/has_token_id) [](https://gemnasium.com/citrus/has_token_id)
|
2
2
|
|
3
3
|
Identify your active records with random tokens when you don't want your users to see a sequential ID.
|
4
4
|
|
@@ -10,7 +10,7 @@ Installation
|
|
10
10
|
Add has_token_id to your Gemfile like so:
|
11
11
|
|
12
12
|
```ruby
|
13
|
-
gem 'has_token_id', '~> 0.3.
|
13
|
+
gem 'has_token_id', '~> 0.3.1'
|
14
14
|
```
|
15
15
|
|
16
16
|
Now run `bundle install` and you're good to go!
|
data/lib/has_token_id/concern.rb
CHANGED
@@ -8,7 +8,27 @@ module HasTokenId
|
|
8
8
|
before_validation :generate_token, :on => :create, :if => proc{|record| record.token.nil? }
|
9
9
|
end
|
10
10
|
|
11
|
+
# Returns the resource's token
|
12
|
+
def to_param
|
13
|
+
self.send(self.class.has_token_id_options[:param_name])
|
14
|
+
end
|
15
|
+
|
16
|
+
# Returns the first N digits of the resource's token
|
17
|
+
# N = has_token_id_options[:short_token_length]
|
18
|
+
def short_token
|
19
|
+
max = self.class.has_token_id_options[:length]
|
20
|
+
len = self.class.has_token_id_options[:short_token_length]
|
21
|
+
to_param[0, len < max ? len : max]
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def generate_token
|
27
|
+
self.token = self.class.generate_unique_token
|
28
|
+
end
|
29
|
+
|
11
30
|
module ClassMethods
|
31
|
+
|
12
32
|
attr_accessor :has_token_id_options
|
13
33
|
|
14
34
|
# Default options as well as an overwrite point so you can assign different defaults to different models
|
@@ -61,33 +81,13 @@ module HasTokenId
|
|
61
81
|
record || super(*args)
|
62
82
|
end
|
63
83
|
|
64
|
-
|
65
|
-
|
66
|
-
def token_with_table_name
|
67
|
-
[ table_name, has_token_id_options[:param_name] ].join(".")
|
68
|
-
end
|
69
|
-
|
70
|
-
end # ClassMethods
|
71
|
-
|
72
|
-
module InstanceMethods
|
73
|
-
|
74
|
-
def to_param
|
75
|
-
self.send(self.class.has_token_id_options[:param_name])
|
76
|
-
end
|
84
|
+
private
|
77
85
|
|
78
|
-
def
|
79
|
-
|
80
|
-
len = self.class.has_token_id_options[:short_token_length]
|
81
|
-
to_param[0, len < max ? len : max]
|
86
|
+
def token_with_table_name
|
87
|
+
[ table_name, has_token_id_options[:param_name] ].join(".")
|
82
88
|
end
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
def generate_token
|
87
|
-
self.token = self.class.generate_unique_token
|
88
|
-
end
|
89
|
-
|
90
|
-
end # InstanceMethods
|
89
|
+
|
90
|
+
end # ClassMethods
|
91
91
|
|
92
92
|
end # Concern
|
93
93
|
|
data/lib/has_token_id/version.rb
CHANGED
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.3.
|
4
|
+
version: 0.3.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-
|
12
|
+
date: 2012-02-29 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &70291048984920 !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: *70291048984920
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &70291048982160 !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: *70291048982160
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &70291048980960 !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: *70291048980960
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: dummier
|
49
|
-
requirement: &
|
49
|
+
requirement: &70291048979200 !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: *70291048979200
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: minitest
|
60
|
-
requirement: &
|
60
|
+
requirement: &70291048977980 !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: *70291048977980
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: minitest_should
|
71
|
-
requirement: &
|
71
|
+
requirement: &70291048976940 !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: *70291048976940
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: sqlite3
|
82
|
-
requirement: &
|
82
|
+
requirement: &70291048975440 !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: *70291048975440
|
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: -3396225044547462416
|
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: -3396225044547462416
|
141
141
|
requirements: []
|
142
142
|
rubyforge_project:
|
143
143
|
rubygems_version: 1.8.10
|