has_token_on 1.0.3 → 1.0.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/has_token_on.gemspec +4 -4
- data/lib/has_token_on/models/base.rb +2 -2
- data/lib/has_token_on/version.rb +1 -1
- data/spec/has_token_on/base_spec.rb +13 -7
- metadata +16 -16
data/has_token_on.gemspec
CHANGED
@@ -18,17 +18,17 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.extra_rdoc_files = ['README.md']
|
19
19
|
s.require_paths = ['lib']
|
20
20
|
|
21
|
-
s.add_dependency 'railties', ['
|
21
|
+
s.add_dependency 'railties', ['~> 3.0']
|
22
22
|
s.add_development_dependency 'simple_uuid'
|
23
23
|
s.add_development_dependency 'sqlite3', ['>= 0']
|
24
|
-
s.add_development_dependency 'rspec', ['
|
25
|
-
s.add_development_dependency 'mocha', ['
|
24
|
+
s.add_development_dependency 'rspec', ['~> 2.0']
|
25
|
+
s.add_development_dependency 'mocha', ['~> 0.9.8']
|
26
26
|
s.add_development_dependency 'with_model', ['>= 0.1.4']
|
27
27
|
s.add_development_dependency 'guard', ['>= 0.3.4']
|
28
28
|
s.add_development_dependency 'guard-rspec', ['>= 0']
|
29
29
|
s.add_development_dependency 'growl', ['>= 0']
|
30
30
|
s.add_development_dependency 'rb-fsevent', ['>= 0']
|
31
31
|
s.add_development_dependency 'ruby-debug19', ['>= 0']
|
32
|
-
s.add_development_dependency 'mongoid', ['
|
32
|
+
s.add_development_dependency 'mongoid', ['~> 2.0']
|
33
33
|
s.add_development_dependency 'bson_ext', ['>= 1.3.1']
|
34
34
|
end
|
@@ -9,7 +9,7 @@ module HasTokenOn
|
|
9
9
|
extend ActiveSupport::Concern
|
10
10
|
|
11
11
|
included do
|
12
|
-
after_initialize { |record| create_tokens(record, :initialize) }
|
12
|
+
after_initialize { |record| create_tokens(record, :initialize) if record.new_record? }
|
13
13
|
before_create { |record| create_tokens(record, :create) }
|
14
14
|
before_update { |record| create_tokens(record, :update) }
|
15
15
|
end
|
@@ -130,7 +130,7 @@ module HasTokenOn
|
|
130
130
|
def tokens_to_build_on(callback)
|
131
131
|
self.class.tokens.select{ |token, config|
|
132
132
|
if config.has_key?(:on)
|
133
|
-
config[:on].include?(callback)
|
133
|
+
[config[:on]].flatten.include?(callback)
|
134
134
|
else
|
135
135
|
# if user didn't specify :on we set token before record create
|
136
136
|
callback == :create
|
data/lib/has_token_on/version.rb
CHANGED
@@ -31,8 +31,7 @@ describe HasTokenOn::Base, "instantiation" do
|
|
31
31
|
has_token_on :tkn
|
32
32
|
end
|
33
33
|
|
34
|
-
subject.tokens.
|
35
|
-
subject.tokens.keys == [:permalink, :tkn]
|
34
|
+
subject.tokens.keys.should include(:tkn)
|
36
35
|
end
|
37
36
|
|
38
37
|
it "should allow to set multiple tokens with hash syntax" do
|
@@ -40,8 +39,7 @@ describe HasTokenOn::Base, "instantiation" do
|
|
40
39
|
has_token_on :tkn1 => { :length => 3 }, :tkn2 => { :length => 4 }
|
41
40
|
end
|
42
41
|
|
43
|
-
subject.tokens.
|
44
|
-
subject.tokens.keys.should == [:permalink, :tkn, :tkn1, :tkn2]
|
42
|
+
subject.tokens.keys.should include(:tkn1, :tkn2)
|
45
43
|
end
|
46
44
|
|
47
45
|
it "should allow to set multiple tokens with array syntax (same configuration for all)" do
|
@@ -49,7 +47,6 @@ describe HasTokenOn::Base, "instantiation" do
|
|
49
47
|
has_token_on [:tkn3, :tkn4], { :length => 10 }
|
50
48
|
end
|
51
49
|
|
52
|
-
subject.tokens.size.should == 6
|
53
50
|
subject.tokens.keys.should include(:tkn3, :tkn4)
|
54
51
|
end
|
55
52
|
|
@@ -62,6 +59,7 @@ describe HasTokenOn::Base, "callbacks" do
|
|
62
59
|
with_model :post do
|
63
60
|
table do |t|
|
64
61
|
t.string "permalink_init"
|
62
|
+
t.string "permalink_init_hash"
|
65
63
|
t.string "permalink_create"
|
66
64
|
t.string "permalink_update"
|
67
65
|
t.string "permalink_none"
|
@@ -69,6 +67,7 @@ describe HasTokenOn::Base, "callbacks" do
|
|
69
67
|
|
70
68
|
model do
|
71
69
|
has_token_on :permalink_init, { :length => 3, :on => [:initialize] }
|
70
|
+
has_token_on :permalink_init_hash, { :length => 3, :on => :initialize }
|
72
71
|
has_token_on :permalink_create, { :length => 3, :on => [:create] }
|
73
72
|
has_token_on :permalink_update, { :length => 3, :on => [:update] }
|
74
73
|
has_token_on :permalink_none, { :length => 3 }
|
@@ -77,6 +76,7 @@ describe HasTokenOn::Base, "callbacks" do
|
|
77
76
|
|
78
77
|
it "should set token on initialize if specified" do
|
79
78
|
subject.permalink_init.should_not be_nil
|
79
|
+
subject.permalink_init_hash.should_not be_nil
|
80
80
|
subject.permalink_create.should be_nil
|
81
81
|
subject.permalink_update.should be_nil
|
82
82
|
end
|
@@ -101,6 +101,12 @@ describe HasTokenOn::Base, "callbacks" do
|
|
101
101
|
subject.update_attribute(:permalink_init, "sup yo")
|
102
102
|
subject.permalink_none.should_not be_nil
|
103
103
|
end
|
104
|
+
|
105
|
+
it "should not regenerate tokens on :initialize if record is persisted" do
|
106
|
+
permalink = subject.permalink_init
|
107
|
+
subject.save
|
108
|
+
subject.reload.permalink_init.should == permalink
|
109
|
+
end
|
104
110
|
end
|
105
111
|
|
106
112
|
describe HasTokenOn::Base do
|
@@ -109,7 +115,7 @@ describe HasTokenOn::Base do
|
|
109
115
|
with_model :post do
|
110
116
|
table do |t|
|
111
117
|
t.string "permalink"
|
112
|
-
t.string "
|
118
|
+
t.string "test_token"
|
113
119
|
t.string "str"
|
114
120
|
t.string "sixteen"
|
115
121
|
t.string "proc_seed"
|
@@ -127,7 +133,7 @@ describe HasTokenOn::Base do
|
|
127
133
|
:append => "bar",
|
128
134
|
:on => [:initialize]
|
129
135
|
},
|
130
|
-
:
|
136
|
+
:test_token => {
|
131
137
|
:length => 4,
|
132
138
|
:prepend => "foo",
|
133
139
|
:seed => :simplerandom,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_token_on
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,24 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-07-
|
12
|
+
date: 2012-07-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 3.0
|
21
|
+
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 3.0
|
29
|
+
version: '3.0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: simple_uuid
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,23 +64,23 @@ dependencies:
|
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ~>
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 2.0
|
69
|
+
version: '2.0'
|
70
70
|
type: :development
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - ~>
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 2.0
|
77
|
+
version: '2.0'
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: mocha
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
81
81
|
none: false
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ~>
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: 0.9.8
|
86
86
|
type: :development
|
@@ -88,7 +88,7 @@ dependencies:
|
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
89
|
none: false
|
90
90
|
requirements:
|
91
|
-
- -
|
91
|
+
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: 0.9.8
|
94
94
|
- !ruby/object:Gem::Dependency
|
@@ -192,17 +192,17 @@ dependencies:
|
|
192
192
|
requirement: !ruby/object:Gem::Requirement
|
193
193
|
none: false
|
194
194
|
requirements:
|
195
|
-
- -
|
195
|
+
- - ~>
|
196
196
|
- !ruby/object:Gem::Version
|
197
|
-
version: '2'
|
197
|
+
version: '2.0'
|
198
198
|
type: :development
|
199
199
|
prerelease: false
|
200
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
201
|
none: false
|
202
202
|
requirements:
|
203
|
-
- -
|
203
|
+
- - ~>
|
204
204
|
- !ruby/object:Gem::Version
|
205
|
-
version: '2'
|
205
|
+
version: '2.0'
|
206
206
|
- !ruby/object:Gem::Dependency
|
207
207
|
name: bson_ext
|
208
208
|
requirement: !ruby/object:Gem::Requirement
|