rabl 0.11.1 → 0.11.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CHANGELOG.md +4 -0
- data/README.md +7 -1
- data/lib/rabl.rb +5 -7
- data/lib/rabl/builder.rb +209 -215
- data/lib/rabl/cache_engine.rb +1 -1
- data/lib/rabl/configuration.rb +1 -1
- data/lib/rabl/engine.rb +242 -210
- data/lib/rabl/helpers.rb +39 -8
- data/lib/rabl/multi_builder.rb +24 -14
- data/lib/rabl/partials.rb +10 -105
- data/lib/rabl/railtie.rb +0 -2
- data/lib/rabl/renderer.rb +52 -42
- data/lib/rabl/sources.rb +87 -0
- data/lib/rabl/template.rb +2 -2
- data/lib/rabl/version.rb +1 -1
- data/test/builder_test.rb +59 -69
- data/test/engine_test.rb +4 -3
- data/test/models/user.rb +1 -1
- data/test/multi_builder_test.rb +1 -2
- metadata +3 -2
data/lib/rabl/template.rb
CHANGED
@@ -11,8 +11,8 @@ if defined?(Tilt)
|
|
11
11
|
@engine = ::Rabl::Engine.new(data, options)
|
12
12
|
end
|
13
13
|
|
14
|
-
def evaluate(
|
15
|
-
@engine.apply(
|
14
|
+
def evaluate(context_scope, locals, &block)
|
15
|
+
@engine.apply(context_scope, locals, &block).render
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
data/lib/rabl/version.rb
CHANGED
data/test/builder_test.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
require File.expand_path('../teststrap', __FILE__)
|
2
2
|
|
3
3
|
context "Rabl::Builder" do
|
4
|
-
helper(:builder) { |
|
5
|
-
helper(:build_hash) { |
|
4
|
+
helper(:builder) { |*args| Rabl::Builder.new(*args) }
|
5
|
+
helper(:build_hash) { |*args| builder(*args).to_hash }
|
6
6
|
|
7
7
|
setup do
|
8
8
|
@users = [User.new, User.new]
|
9
9
|
@user = User.new
|
10
|
-
builder({:view_path => '/path/to/views'})
|
10
|
+
builder(nil, nil, {:view_path => '/path/to/views'})
|
11
11
|
end
|
12
12
|
|
13
13
|
context "#initialize" do
|
@@ -15,46 +15,40 @@ context "Rabl::Builder" do
|
|
15
15
|
asserts_topic.assigns :_view_path
|
16
16
|
end
|
17
17
|
|
18
|
-
context "#build" do
|
19
|
-
setup { b = builder({}); b.build(User.new); b }
|
20
|
-
asserts_topic.assigns :_object
|
21
|
-
asserts_topic.assigns :_result
|
22
|
-
end
|
23
|
-
|
24
18
|
context "#to_hash" do
|
25
19
|
context "when given a simple object" do
|
26
|
-
setup { builder({ :attributes => { :name =>
|
20
|
+
setup { builder(nil, { :attributes => [ { :name => :name } ] }) }
|
27
21
|
asserts "that the object is set properly" do
|
28
|
-
topic.
|
22
|
+
topic.to_hash(User.new, nil, :root_name => "user")
|
29
23
|
end.equivalent_to({ "user" => { :name => "rabl" } })
|
30
24
|
end
|
31
25
|
|
32
26
|
context "when given an object alias" do
|
33
|
-
setup { builder({ :attributes => { :name => { :as => :foo } } }) }
|
27
|
+
setup { builder(nil, { :attributes => [ { :name => :name, :options => { :as => :foo } } ] }) }
|
34
28
|
asserts "that the object is set properly" do
|
35
|
-
topic.
|
29
|
+
topic.to_hash(User.new, nil, :root_name => "person")
|
36
30
|
end.equivalent_to({ "person" => { :foo => "rabl" } })
|
37
31
|
end
|
38
32
|
|
39
33
|
context "when specified with no root" do
|
40
|
-
setup { builder({ :attributes => { :name => { :as => :name } } }) }
|
34
|
+
setup { builder(nil, { :attributes => [ { :name => :name, :options => { :as => :name } } ] }) }
|
41
35
|
asserts "that the object is set properly" do
|
42
|
-
topic.
|
36
|
+
topic.to_hash(User.new, nil, :root => false)
|
43
37
|
end.equivalent_to({ :name => "rabl" })
|
44
38
|
end
|
45
39
|
|
46
40
|
context "when nil values are replaced with empty strings" do
|
47
41
|
setup do
|
48
42
|
Rabl.configuration.replace_nil_values_with_empty_strings = true
|
49
|
-
builder({ :attributes => { :name =>
|
43
|
+
builder(nil, { :attributes => [ { :name => :name } ], :node => [{ :name => :extra, :options => {}, :block => lambda { |u| { :twitter => u.twitter } } }] })
|
50
44
|
end
|
51
45
|
|
52
46
|
asserts "that an empty string is returned as the value" do
|
53
|
-
topic.
|
47
|
+
topic.to_hash(User.new(:name => nil, :twitter => nil))
|
54
48
|
end.equivalent_to({ :name => '', :extra => { :twitter => '' } })
|
55
49
|
|
56
50
|
asserts "that it handles existing non nil values correctly" do
|
57
|
-
topic.
|
51
|
+
topic.to_hash(User.new(:name => 10, :twitter => 'twitter'))
|
58
52
|
end.equivalent_to({ :name => 10, :extra => { :twitter => 'twitter' } })
|
59
53
|
|
60
54
|
teardown do
|
@@ -65,19 +59,19 @@ context "Rabl::Builder" do
|
|
65
59
|
context "when empty string values are replaced with nil values" do
|
66
60
|
setup do
|
67
61
|
Rabl.configuration.replace_empty_string_values_with_nil_values = true
|
68
|
-
builder({ :attributes => { :name =>
|
62
|
+
builder(nil, { :attributes => [ { :name => :name } ], :node => [{ :name => :extra, :options => {}, :block => lambda { |u| { :twitter => u.twitter } } }] })
|
69
63
|
end
|
70
64
|
|
71
65
|
asserts "that nil is returned as the value" do
|
72
|
-
topic.
|
66
|
+
topic.to_hash(User.new(:name => "", :twitter => ''))
|
73
67
|
end.equivalent_to({ :name => nil, :extra => { :twitter => nil } })
|
74
68
|
|
75
69
|
asserts "that it handles existing nil values correctly" do
|
76
|
-
topic.
|
70
|
+
topic.to_hash(User.new(:name => nil, :twitter => nil))
|
77
71
|
end.equivalent_to({ :name => nil, :extra => { :twitter => nil } })
|
78
72
|
|
79
73
|
asserts "that it handles existing non nil values correctly" do
|
80
|
-
topic.
|
74
|
+
topic.to_hash(User.new(:name => 10, :twitter => 'twitter'))
|
81
75
|
end.equivalent_to({ :name => 10, :extra => { :twitter => 'twitter' } })
|
82
76
|
|
83
77
|
teardown do
|
@@ -88,10 +82,10 @@ context "Rabl::Builder" do
|
|
88
82
|
context "when nil values are excluded" do
|
89
83
|
setup do
|
90
84
|
Rabl.configuration.exclude_nil_values = true
|
91
|
-
builder({ :attributes => { :name =>
|
85
|
+
builder(nil, { :attributes => [ { :name => :name } ] })
|
92
86
|
end
|
93
87
|
asserts "that an nil attribute is not returned" do
|
94
|
-
topic.
|
88
|
+
topic.to_hash(User.new(:name => nil))
|
95
89
|
end.equivalent_to({ })
|
96
90
|
teardown do
|
97
91
|
Rabl.configuration.exclude_nil_values = false
|
@@ -101,7 +95,7 @@ context "Rabl::Builder" do
|
|
101
95
|
|
102
96
|
context "#attribute" do
|
103
97
|
asserts "that the node" do
|
104
|
-
build_hash @user, :attributes => { :name =>
|
98
|
+
build_hash @user, :attributes => [ { :name => :name }, { :name => :city, :options => { :as => :city } } ]
|
105
99
|
end.equivalent_to({:name => 'rabl', :city => 'irvine'})
|
106
100
|
|
107
101
|
context "that with a non-existent attribute" do
|
@@ -109,7 +103,7 @@ context "Rabl::Builder" do
|
|
109
103
|
setup { stub(Rabl.configuration).raise_on_missing_attribute { false } }
|
110
104
|
|
111
105
|
asserts "the node" do
|
112
|
-
build_hash @user, :attributes => { :
|
106
|
+
build_hash @user, :attributes => [ { :name => :fake } ]
|
113
107
|
end.equals({})
|
114
108
|
end
|
115
109
|
|
@@ -117,22 +111,22 @@ context "Rabl::Builder" do
|
|
117
111
|
setup { stub(Rabl.configuration).raise_on_missing_attribute { true } }
|
118
112
|
|
119
113
|
asserts "the node" do
|
120
|
-
build_hash @user, :attributes => { :
|
114
|
+
build_hash @user, :attributes => [ { :name => :fake } ]
|
121
115
|
end.raises(RuntimeError)
|
122
116
|
end
|
123
117
|
end
|
124
118
|
|
125
119
|
context "that with a string key" do
|
126
|
-
setup { builder({ :attributes => {
|
120
|
+
setup { builder(nil, { :attributes => [ { :name => "name" } ] }) }
|
127
121
|
asserts "the node name is converted to a symbol" do
|
128
|
-
topic.
|
122
|
+
topic.to_hash(User.new, :name => "user")
|
129
123
|
end.equivalent_to({ :name => "rabl" })
|
130
124
|
end
|
131
125
|
|
132
126
|
context "that with the same node names as strings and symbols" do
|
133
|
-
setup { builder({ :attributes => { "name"
|
127
|
+
setup { builder(nil, { :attributes => [ { :name => "name" }, { :name => :name } ] }) }
|
134
128
|
asserts "the nodes aren't duplicated" do
|
135
|
-
topic.
|
129
|
+
topic.to_hash(User.new, :name => "user")
|
136
130
|
end.equivalent_to({ :name => "rabl" })
|
137
131
|
end
|
138
132
|
end
|
@@ -163,119 +157,119 @@ context "Rabl::Builder" do
|
|
163
157
|
|
164
158
|
context "#child" do
|
165
159
|
asserts "that it generates if no data present" do
|
166
|
-
builder(:child => []).
|
160
|
+
builder(nil, :child => []).to_hash(@user)
|
167
161
|
end.equals({})
|
168
162
|
|
169
163
|
asserts "that it generates with a hash" do
|
170
|
-
b = builder(:child => [ { :data => { @user => :user }, :options => { }, :block => lambda { |u| attribute :name } } ])
|
171
|
-
b.
|
164
|
+
b = builder(nil, :child => [ { :data => { @user => :user }, :options => { }, :block => lambda { |u| attribute :name } } ])
|
165
|
+
b.to_hash(@user)
|
172
166
|
end.equivalent_to({ :user => { :name => "rabl" } })
|
173
167
|
|
174
168
|
asserts "that it generates with a hash alias" do
|
175
|
-
b = builder :child => [{ :data => { @user => :person }, :options => {}, :block => lambda { |u| attribute :name } }]
|
176
|
-
b.
|
169
|
+
b = builder nil, :child => [{ :data => { @user => :person }, :options => {}, :block => lambda { |u| attribute :name } }]
|
170
|
+
b.to_hash(@user)
|
177
171
|
end.equivalent_to({ :person => { :name => "rabl" } })
|
178
172
|
|
179
173
|
asserts "that it generates with an object" do
|
180
|
-
b = builder :child => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name } }]
|
174
|
+
b = builder nil, :child => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name } }]
|
181
175
|
e = Rabl::Engine.new('')
|
182
176
|
mock(b).data_name(@user) { :user }
|
183
177
|
mock(e).render.returns('xyz')
|
184
178
|
mock(b).object_to_engine(@user, { :root => false }).returns(e).subject
|
185
|
-
b.
|
179
|
+
b.to_hash(@user)
|
186
180
|
end.equivalent_to({ :user => 'xyz'})
|
187
181
|
|
188
182
|
asserts "that it generates with an collection and child_root" do
|
189
|
-
b = builder :child => [{ :data => @users, :options => {}, :block => lambda { |u| attribute :name } }], :child_root => true
|
183
|
+
b = builder nil, { :child => [{ :data => @users, :options => {}, :block => lambda { |u| attribute :name } }] }, { :child_root => true }
|
190
184
|
e = Rabl::Engine.new('')
|
191
185
|
mock(b).data_name(@users) { :users }
|
192
186
|
mock(e).render.returns('xyz')
|
193
187
|
mock(b).object_to_engine(@users, { :root => true, :child_root => true }).returns(e).subject
|
194
|
-
b.
|
188
|
+
b.to_hash(@user)
|
195
189
|
end.equivalent_to({ :users => 'xyz'})
|
196
190
|
|
197
191
|
asserts "that it generates with an collection and no child root" do
|
198
|
-
b = builder :child => [{ :data => @users, :options => {}, :block => lambda { |u| attribute :name } }], :child_root => false
|
192
|
+
b = builder nil, { :child => [{ :data => @users, :options => {}, :block => lambda { |u| attribute :name } }] }, { :child_root => false }
|
199
193
|
e = Rabl::Engine.new('')
|
200
194
|
mock(b).data_name(@users) { :users }
|
201
195
|
mock(e).render.returns('xyz')
|
202
196
|
mock(b).object_to_engine(@users, { :root => false, :child_root => false }).returns(e).subject
|
203
|
-
b.
|
197
|
+
b.to_hash(@user)
|
204
198
|
end.equivalent_to({ :users => 'xyz'})
|
205
199
|
|
206
200
|
asserts "that it generates with an collection and a specified object_root_name and root" do
|
207
201
|
ops = { :object_root => "person", :root => :people }
|
208
|
-
b = builder :child => [{ :data => @users, :options => ops, :block => lambda { |u| attribute :name } }], :child_root => true
|
202
|
+
b = builder nil, { :child => [{ :data => @users, :options => ops, :block => lambda { |u| attribute :name } }] }, { :child_root => true }
|
209
203
|
e = Rabl::Engine.new('')
|
210
204
|
mock(e).render.returns('xyz')
|
211
205
|
mock(b).object_to_engine(@users, { :root => "person", :object_root_name => "person", :child_root => true }).returns(e).subject
|
212
|
-
b.
|
206
|
+
b.to_hash(@user)
|
213
207
|
end.equivalent_to({ :people => 'xyz'})
|
214
208
|
|
215
209
|
asserts "that it converts the child name to a symbol" do
|
216
|
-
b = builder(:child => [ { :data => { @user => "user" }, :options => { }, :block => lambda { |u| attribute :name } } ])
|
217
|
-
b.
|
210
|
+
b = builder(nil, :child => [ { :data => { @user => "user" }, :options => { }, :block => lambda { |u| attribute :name } } ])
|
211
|
+
b.to_hash(@user)
|
218
212
|
end.equivalent_to({ :user => { :name => "rabl" } })
|
219
213
|
|
220
214
|
asserts "that it does't duplicate childs with the same name as a string and symbol" do
|
221
|
-
b = builder(:child => [
|
215
|
+
b = builder(nil, :child => [
|
222
216
|
{ :data => { @user => "user" }, :options => { }, :block => lambda { |u| attribute :name } },
|
223
217
|
{ :data => { @user => :user }, :options => { }, :block => lambda { |u| attribute :name } }
|
224
218
|
])
|
225
|
-
b.
|
219
|
+
b.to_hash(@user)
|
226
220
|
end.equivalent_to({ :user => { :name => "rabl" } })
|
227
221
|
end
|
228
222
|
|
229
223
|
context "#glue" do
|
230
224
|
asserts "that it generates if no data present" do
|
231
|
-
builder(:glue => []).
|
225
|
+
builder(nil, :glue => []).to_hash(@user)
|
232
226
|
end.equals({})
|
233
227
|
|
234
228
|
asserts "that it generates the glue attributes" do
|
235
|
-
b = builder :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name }}]
|
229
|
+
b = builder nil, :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name }}]
|
236
230
|
e = Rabl::Engine.new('')
|
237
231
|
mock(e).render.returns({:user => 'xyz'})
|
238
232
|
mock(b).object_to_engine(@user, { :root => false }).returns(e).subject
|
239
|
-
b.
|
233
|
+
b.to_hash(@user)
|
240
234
|
end.equivalent_to({ :user => 'xyz' })
|
241
235
|
|
242
236
|
asserts "that it appends the glue attributes to result" do
|
243
|
-
b = builder :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name => :user_name }}]
|
244
|
-
b.
|
237
|
+
b = builder nil, :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name => :user_name }}]
|
238
|
+
b.to_hash(@user)
|
245
239
|
end.equivalent_to({ :user_name => 'rabl' })
|
246
240
|
|
247
241
|
asserts "that it does not generate new attributes if no glue attributes are present" do
|
248
|
-
b = builder :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name }}]
|
242
|
+
b = builder nil, :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name }}]
|
249
243
|
e = Rabl::Engine.new('')
|
250
244
|
mock(e).render.returns({})
|
251
245
|
mock(b).object_to_engine(@user,{ :root => false }).returns(e).subject
|
252
|
-
b.
|
246
|
+
b.to_hash(@user)
|
253
247
|
end.equals({})
|
254
248
|
end
|
255
249
|
|
256
250
|
context "#extends" do
|
257
251
|
asserts "that it does not generate if no data is present" do
|
258
|
-
b = builder :extends => [{ :file => 'users/show', :options => {}, :block => lambda { |u| attribute :name }}]
|
252
|
+
b = builder nil, :extends => [{ :file => 'users/show', :options => {}, :block => lambda { |u| attribute :name }}]
|
259
253
|
e = Rabl::Engine.new('users/show')
|
260
254
|
mock(b).partial_as_engine('users/show',{ :object => @user}).returns(e)
|
261
255
|
mock(e).render.returns({}).subject
|
262
|
-
b.
|
256
|
+
b.to_hash(@user)
|
263
257
|
end.equals({})
|
264
258
|
|
265
259
|
asserts "that it generates if data is present" do
|
266
|
-
b = builder :extends => [{ :file => 'users/show', :options => {}, :block => lambda { |u| attribute :name }}]
|
260
|
+
b = builder nil, :extends => [{ :file => 'users/show', :options => {}, :block => lambda { |u| attribute :name }}]
|
267
261
|
e = Rabl::Engine.new('users/show')
|
268
262
|
mock(b).partial_as_engine('users/show',{ :object => @user}).returns(e)
|
269
263
|
mock(e).render.returns({:user => 'xyz'}).subject
|
270
|
-
b.
|
264
|
+
b.to_hash(@user)
|
271
265
|
end.equivalent_to({:user => 'xyz'})
|
272
266
|
|
273
267
|
asserts "that it generates if local data is present but object is false" do
|
274
|
-
b = builder :extends => [{ :file => 'users/show', :options => { :object => @user }, :block => lambda { |u| attribute :name }}]
|
268
|
+
b = builder nil, :extends => [{ :file => 'users/show', :options => { :object => @user }, :block => lambda { |u| attribute :name }}]
|
275
269
|
e = Rabl::Engine.new('users/show')
|
276
270
|
mock(b).partial_as_engine('users/show',{ :object => @user}).returns(e)
|
277
271
|
mock(e).render.returns({:user => 'xyz'}).subject
|
278
|
-
b.
|
272
|
+
b.to_hash(false)
|
279
273
|
end.equivalent_to({:user => 'xyz'})
|
280
274
|
end
|
281
275
|
|
@@ -291,26 +285,22 @@ context "Rabl::Builder" do
|
|
291
285
|
end
|
292
286
|
|
293
287
|
asserts "that it can use symbols on if condition and return false if method returns false" do
|
294
|
-
scope = Rabl::Builder.new
|
295
|
-
scope.instance_variable_set(:@_object, ArbObj.new)
|
288
|
+
scope = Rabl::Builder.new(ArbObj.new)
|
296
289
|
scope.send(:resolve_condition, { :if => :cool? })
|
297
290
|
end.equals(false)
|
298
291
|
|
299
292
|
asserts "that it can use symbols on if condition and return true if method returns true" do
|
300
|
-
scope = Rabl::Builder.new
|
301
|
-
scope.instance_variable_set(:@_object, ArbObj.new)
|
293
|
+
scope = Rabl::Builder.new(ArbObj.new)
|
302
294
|
scope.send :resolve_condition, { :if => :smooth? }
|
303
295
|
end.equals(true)
|
304
296
|
|
305
297
|
asserts "that it can use symbols as unless condition and return true if method returns false" do
|
306
|
-
scope = Rabl::Builder.new
|
307
|
-
scope.instance_variable_set(:@_object, ArbObj.new)
|
298
|
+
scope = Rabl::Builder.new(ArbObj.new)
|
308
299
|
scope.send :resolve_condition, { :unless => :cool? }
|
309
300
|
end.equals(true)
|
310
301
|
|
311
302
|
asserts "that it can use symbols as unmless condition and return false if method returns true" do
|
312
|
-
scope = Rabl::Builder.new
|
313
|
-
scope.instance_variable_set(:@_object, ArbObj.new)
|
303
|
+
scope = Rabl::Builder.new(ArbObj.new)
|
314
304
|
scope.send :resolve_condition, { :unless => :smooth? }
|
315
305
|
end.equals(false)
|
316
306
|
end
|
data/test/engine_test.rb
CHANGED
@@ -57,7 +57,7 @@ context "Rabl::Engine" do
|
|
57
57
|
template.instance_eval('@engine')
|
58
58
|
end
|
59
59
|
|
60
|
-
asserts_topic.assigns(:
|
60
|
+
asserts_topic.assigns(:_cache_key) { 'foo' }
|
61
61
|
end
|
62
62
|
|
63
63
|
context "with cache and options" do
|
@@ -69,7 +69,8 @@ context "Rabl::Engine" do
|
|
69
69
|
template.instance_eval('@engine')
|
70
70
|
end
|
71
71
|
|
72
|
-
asserts_topic.assigns(:
|
72
|
+
asserts_topic.assigns(:_cache_key) { 'foo' }
|
73
|
+
asserts_topic.assigns(:_cache_options) { { :expires_in => 'bar' } }
|
73
74
|
end
|
74
75
|
|
75
76
|
context "without cache" do
|
@@ -79,7 +80,7 @@ context "Rabl::Engine" do
|
|
79
80
|
template.instance_eval('@engine')
|
80
81
|
end
|
81
82
|
|
82
|
-
denies(:instance_variable_defined?, :@
|
83
|
+
denies(:instance_variable_defined?, :@_cache_key)
|
83
84
|
end
|
84
85
|
end
|
85
86
|
|
data/test/models/user.rb
CHANGED
@@ -10,7 +10,7 @@ unless defined?(User)
|
|
10
10
|
DEFAULT_HOBBIES = ['Photography']
|
11
11
|
DEFAULT_TWITTER = 'rablgem'
|
12
12
|
|
13
|
-
def initialize(attributes={})
|
13
|
+
def initialize(attributes = {})
|
14
14
|
%w(age city name first float hobbies twitter).each do |attr|
|
15
15
|
self.send "#{attr}=", (attributes.has_key?(attr.to_sym) ? attributes[attr.to_sym] : self.class.const_get("DEFAULT_#{attr.upcase}"))
|
16
16
|
end
|
data/test/multi_builder_test.rb
CHANGED
@@ -5,7 +5,7 @@ require File.expand_path('../models/ormless', __FILE__)
|
|
5
5
|
|
6
6
|
context "Rabl::MultiBuilder" do
|
7
7
|
helper(:multi_builder) { |objects, options| Rabl::MultiBuilder.new(objects, options) }
|
8
|
-
helper(:builder) { Rabl::Builder.new({}) }
|
8
|
+
helper(:builder) { Rabl::Builder.new(nil, {}) }
|
9
9
|
helper(:engine) { |object| Rabl::Engine.new("").apply(nil, :object => object) }
|
10
10
|
|
11
11
|
context "#initialize" do
|
@@ -32,7 +32,6 @@ context "Rabl::MultiBuilder" do
|
|
32
32
|
context "#map_cache_key_to_engine" do
|
33
33
|
asserts "maps the cache keys to the engines" do
|
34
34
|
mb = multi_builder [], {}
|
35
|
-
b = builder
|
36
35
|
e = engine User.new
|
37
36
|
mock(e).cache_key.returns(['cache key'])
|
38
37
|
mb.send(:map_cache_key_to_engine, e)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rabl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Esquenazi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -419,6 +419,7 @@ files:
|
|
419
419
|
- lib/rabl/partials.rb
|
420
420
|
- lib/rabl/railtie.rb
|
421
421
|
- lib/rabl/renderer.rb
|
422
|
+
- lib/rabl/sources.rb
|
422
423
|
- lib/rabl/template.rb
|
423
424
|
- lib/rabl/tracker.rb
|
424
425
|
- lib/rabl/version.rb
|