building-blocks 1.2.1 → 1.2.2
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.rdoc +9 -1
- data/VERSION +1 -1
- data/lib/building_blocks/base.rb +122 -2
- data/spec/building-blocks/base_spec.rb +30 -45
- metadata +18 -4
data/CHANGELOG.rdoc
CHANGED
@@ -10,4 +10,12 @@
|
|
10
10
|
* Changed prototype for "use" method, such that the name of the block being rendered is now a required parameter.
|
11
11
|
* Documented BuildingBlocks::Base more thoroughly
|
12
12
|
* Changed the blocks.use method to blocks.render (blocks.use is still available for legacy purposes)
|
13
|
-
* Removed the original render method and replaced with render_template that takes the partial and block to render as arguments.
|
13
|
+
* Removed the original render method and replaced with render_template that takes the partial and block to render as arguments.
|
14
|
+
|
15
|
+
1.2.1 (February 7, 2012)
|
16
|
+
|
17
|
+
* Only try to render "before" and "after" blocks as partials if that BuildingBlocks::USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS is globally set to true (set to false now by default)
|
18
|
+
|
19
|
+
1.2.2 (February 9, 2012)
|
20
|
+
|
21
|
+
* Allow :use_partials and :use_partials_for_before_and_after_hooks to be passed in as initialization options to BuildingBlocks::Base to control whether BuildingBlocks attempts to render partials when "blocks.render" is called.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.2
|
data/lib/building_blocks/base.rb
CHANGED
@@ -28,6 +28,12 @@ module BuildingBlocks
|
|
28
28
|
# The variable to use when rendering the partial for the templating feature (by default, "blocks")
|
29
29
|
attr_accessor :variable
|
30
30
|
|
31
|
+
# Boolean variable for whether BuildingBlocks should attempt to render blocks as partials if a defined block cannot be found
|
32
|
+
attr_accessor :use_partials
|
33
|
+
|
34
|
+
# Boolean variable for whether BuildingBlocks should attempt to render blocks before and after blocks as partials if no before or after blocks exist
|
35
|
+
attr_accessor :use_partials_for_before_and_after_hooks
|
36
|
+
|
31
37
|
# Checks if a particular block has been defined within the current block scope.
|
32
38
|
# <%= blocks.defined? :some_block_name %>
|
33
39
|
# Options:
|
@@ -157,6 +163,41 @@ module BuildingBlocks
|
|
157
163
|
nil
|
158
164
|
end
|
159
165
|
|
166
|
+
# Render a partial, treating it as a template, and any code in the block argument will impact how the template renders
|
167
|
+
# <%= BuildingBlocks::Base.new(self).render_template("shared/wizard") do |blocks| %>
|
168
|
+
# <% blocks.queue :step1 %>
|
169
|
+
# <% blocks.queue :step2 do %>
|
170
|
+
# My overridden Step 2 |
|
171
|
+
# <% end %>
|
172
|
+
# <% blocks.queue :step3 %>
|
173
|
+
# <% blocks.queue do %>
|
174
|
+
# | Anonymous Step 4
|
175
|
+
# <% end %>
|
176
|
+
# <% end %>
|
177
|
+
#
|
178
|
+
# <!-- In /app/views/shared/wizard -->
|
179
|
+
# <% blocks.define :step1 do %>
|
180
|
+
# Step 1 |
|
181
|
+
# <% end %>
|
182
|
+
#
|
183
|
+
# <% blocks.define :step2 do %>
|
184
|
+
# Step 2 |
|
185
|
+
# <% end %>
|
186
|
+
#
|
187
|
+
# <% blocks.define :step3 do %>
|
188
|
+
# Step 3
|
189
|
+
# <% end %>
|
190
|
+
#
|
191
|
+
# <% blocks.queued_blocks.each do |block| %>
|
192
|
+
# <%= blocks.render block %>
|
193
|
+
# <% end %>
|
194
|
+
#
|
195
|
+
# <!-- Will render: Step 1 | My overridden Step 2 | Step 3 | Anonymous Step 4-->
|
196
|
+
# Options:
|
197
|
+
# [+partial+]
|
198
|
+
# The partial to render as a template
|
199
|
+
# [+block+]
|
200
|
+
# An optional block with code that affects how the template renders
|
160
201
|
def render_template(partial, &block)
|
161
202
|
render_options = global_options.clone
|
162
203
|
render_options[self.variable] = self
|
@@ -165,12 +206,78 @@ module BuildingBlocks
|
|
165
206
|
view.render partial, render_options
|
166
207
|
end
|
167
208
|
|
209
|
+
# Add a block to render before another block. This before block will be put into an array so that multiple
|
210
|
+
# before blocks may be queued. They will render in the order in which they are declared when the
|
211
|
+
# "blocks#render" method is called. Any options specified to the before block will override any options
|
212
|
+
# specified in the block definition.
|
213
|
+
# <% blocks.define :wizard, :option1 => 1, :option2 => 2 do |options| %>
|
214
|
+
# Step 2 (:option1 => <%= options[option1] %>, :option2 => <%= options[option2] %>)<br />
|
215
|
+
# <% end %>
|
216
|
+
#
|
217
|
+
# <% blocks.before :wizard, :option1 => 3 do
|
218
|
+
# Step 0 (:option1 => <%= options[option1] %>, :option2 => <%= options[option2] %>)<br />
|
219
|
+
# <% end %>
|
220
|
+
#
|
221
|
+
# <% blocks.before :wizard, :option2 => 4 do
|
222
|
+
# Step 1 (:option1 => <%= options[option1] %>, :option2 => <%= options[option2] %>)<br />
|
223
|
+
# <% end %>
|
224
|
+
#
|
225
|
+
# <%= blocks.use :wizard %>
|
226
|
+
#
|
227
|
+
# <!-- Will render:
|
228
|
+
# Step 0 (:option1 => 3, :option2 => 2)<br />
|
229
|
+
# Step 1 (:option1 => 1, :option2 => 4)<br />
|
230
|
+
# Step 2 (:option1 => 1, :option2 => 2)<br />
|
231
|
+
# -->
|
232
|
+
#
|
233
|
+
# <%= blocks.render :wizard, :step => @step %>
|
234
|
+
# Options:
|
235
|
+
# [+name+]
|
236
|
+
# The name of the block to render this code before when that block is rendered
|
237
|
+
# [+options+]
|
238
|
+
# Any options to specify to the before block when it renders. These will override any options
|
239
|
+
# specified when the block was defined.
|
240
|
+
# [+block+]
|
241
|
+
# The block of code to render before another block
|
168
242
|
def before(name, options={}, &block)
|
169
243
|
self.queue_block_container("before_#{name.to_s}", options, &block)
|
170
244
|
nil
|
171
245
|
end
|
172
246
|
alias prepend before
|
173
247
|
|
248
|
+
# Add a block to render after another block. This after block will be put into an array so that multiple
|
249
|
+
# after blocks may be queued. They will render in the order in which they are declared when the
|
250
|
+
# "blocks#render" method is called. Any options specified to the after block will override any options
|
251
|
+
# specified in the block definition.
|
252
|
+
# <% blocks.define :wizard, :option1 => 1, :option2 => 2 do |options| %>
|
253
|
+
# Step 2 (:option1 => <%= options[option1] %>, :option2 => <%= options[option2] %>)<br />
|
254
|
+
# <% end %>
|
255
|
+
#
|
256
|
+
# <% blocks.after :wizard, :option1 => 3 do
|
257
|
+
# Step 3 (:option1 => <%= options[option1] %>, :option2 => <%= options[option2] %>)<br />
|
258
|
+
# <% end %>
|
259
|
+
#
|
260
|
+
# <% blocks.after :wizard, :option2 => 4 do
|
261
|
+
# Step 4 (:option1 => <%= options[option1] %>, :option2 => <%= options[option2] %>)<br />
|
262
|
+
# <% end %>
|
263
|
+
#
|
264
|
+
# <%= blocks.use :wizard %>
|
265
|
+
#
|
266
|
+
# <!-- Will render:
|
267
|
+
# Step 2 (:option1 => 1, :option2 => 2)<br />
|
268
|
+
# Step 3 (:option1 => 3, :option2 => 2)<br />
|
269
|
+
# Step 4 (:option1 => 1, :option2 => 4)<br />
|
270
|
+
# -->
|
271
|
+
#
|
272
|
+
# <%= blocks.render :wizard, :step => @step %>
|
273
|
+
# Options:
|
274
|
+
# [+name+]
|
275
|
+
# The name of the block to render this code after when that block is rendered
|
276
|
+
# [+options+]
|
277
|
+
# Any options to specify to the after block when it renders. These will override any options
|
278
|
+
# specified when the block was defined.
|
279
|
+
# [+block+]
|
280
|
+
# The block of code to render after another block
|
174
281
|
def after(name, options={}, &block)
|
175
282
|
self.queue_block_container("after_#{name.to_s}", options, &block)
|
176
283
|
nil
|
@@ -210,13 +317,18 @@ module BuildingBlocks
|
|
210
317
|
self.blocks = {}
|
211
318
|
self.anonymous_block_number = 0
|
212
319
|
self.block_groups = {}
|
320
|
+
self.use_partials = options[:use_partials].nil? ? BuildingBlocks::USE_PARTIALS : options.delete(:use_partials)
|
321
|
+
self.use_partials_for_before_and_after_hooks =
|
322
|
+
options[:use_partials_for_before_and_after_hooks] ? options.delete(:use_partials_for_before_and_after_hooks) : BuildingBlocks::USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS
|
213
323
|
end
|
214
324
|
|
325
|
+
# Return a unique name for an anonymously defined block (i.e. a block that has not been given a name)
|
215
326
|
def anonymous_block_name
|
216
327
|
self.anonymous_block_number += 1
|
217
328
|
"block_#{anonymous_block_number}"
|
218
329
|
end
|
219
330
|
|
331
|
+
# Render a block, first trying to find a previously defined block with the same name
|
220
332
|
def render_block(name_or_container, *args, &block)
|
221
333
|
options = args.extract_options!
|
222
334
|
|
@@ -234,7 +346,7 @@ module BuildingBlocks
|
|
234
346
|
block_container = blocks[name]
|
235
347
|
args.push(global_options.merge(block_container.options).merge(block_options).merge(options))
|
236
348
|
buffer << view.capture(*(args[0, block_container.block.arity]), &block_container.block)
|
237
|
-
elsif
|
349
|
+
elsif use_partials
|
238
350
|
begin
|
239
351
|
begin
|
240
352
|
buffer << view.render("#{name.to_s}", global_options.merge(block_options).merge(options))
|
@@ -253,14 +365,17 @@ module BuildingBlocks
|
|
253
365
|
buffer
|
254
366
|
end
|
255
367
|
|
368
|
+
# Render all the before blocks for a partial block
|
256
369
|
def render_before_blocks(name_or_container, *args)
|
257
370
|
render_before_or_after_blocks(name_or_container, "before", *args)
|
258
371
|
end
|
259
372
|
|
373
|
+
# Render all the after blocks for a partial block
|
260
374
|
def render_after_blocks(name_or_container, *args)
|
261
375
|
render_before_or_after_blocks(name_or_container, "after", *args)
|
262
376
|
end
|
263
377
|
|
378
|
+
# Utility method to render either the before or after blocks for a partial block
|
264
379
|
def render_before_or_after_blocks(name_or_container, before_or_after, *args)
|
265
380
|
options = args.extract_options!
|
266
381
|
|
@@ -282,7 +397,7 @@ module BuildingBlocks
|
|
282
397
|
args_clone.push(global_options.merge(block_options).merge(block_container.options).merge(options))
|
283
398
|
buffer << view.capture(*(args_clone[0, block_container.block.arity]), &block_container.block)
|
284
399
|
end
|
285
|
-
elsif
|
400
|
+
elsif use_partials && use_partials_for_before_and_after_hooks
|
286
401
|
begin
|
287
402
|
begin
|
288
403
|
buffer << view.render("#{before_or_after}_#{name.to_s}", global_options.merge(block_options).merge(options))
|
@@ -296,6 +411,7 @@ module BuildingBlocks
|
|
296
411
|
buffer
|
297
412
|
end
|
298
413
|
|
414
|
+
# Build a BuildingBlocks::Container object given the passed in arguments
|
299
415
|
def build_block_container(*args, &block)
|
300
416
|
options = args.extract_options!
|
301
417
|
name = args.first ? args.shift : self.anonymous_block_name
|
@@ -306,6 +422,8 @@ module BuildingBlocks
|
|
306
422
|
block_container
|
307
423
|
end
|
308
424
|
|
425
|
+
# Build a BuildingBlocks::Container object and add it to an array of containers matching it's block name
|
426
|
+
# (used only for queuing a collection of before and after blocks for a particular block name)
|
309
427
|
def queue_block_container(*args, &block)
|
310
428
|
block_container = self.build_block_container(*args, &block)
|
311
429
|
if blocks[block_container.name].nil?
|
@@ -315,6 +433,8 @@ module BuildingBlocks
|
|
315
433
|
end
|
316
434
|
end
|
317
435
|
|
436
|
+
# Build a BuildingBlocks::Container object and add it to the global hash of blocks if a block by the same
|
437
|
+
# name is not already defined
|
318
438
|
def define_block_container(*args, &block)
|
319
439
|
block_container = self.build_block_container(*args, &block)
|
320
440
|
blocks[block_container.name] = block_container if blocks[block_container.name].nil? && block_given?
|
@@ -366,16 +366,25 @@ describe BuildingBlocks::Base do
|
|
366
366
|
@builder.render :some_block, :value1 => 1, :value2 => 2, &block
|
367
367
|
end
|
368
368
|
|
369
|
-
it "should not attempt to render a partial if
|
370
|
-
|
371
|
-
|
369
|
+
it "should not attempt to render a partial if use_partials is set to false" do
|
370
|
+
@builder.use_partials = false
|
371
|
+
block = Proc.new {|options|}
|
372
|
+
@view.expects(:render).with("some_block", :value1 => 1, :value2 => 2).never
|
373
|
+
@view.expects(:render).with("blocks/some_block", :value1 => 1, :value2 => 2).never
|
374
|
+
@view.expects(:capture).with(:value1 => 1, :value2 => 2)
|
375
|
+
@builder.render :some_block, :value1 => 1, :value2 => 2, &block
|
376
|
+
end
|
377
|
+
|
378
|
+
it "should not attempt to render a partial if use_partials is passed in as false as an option to BuildingBlocks::Base.new" do
|
379
|
+
mocha_teardown
|
380
|
+
@builder = BuildingBlocks::Base.new(@view, :use_partials => false)
|
381
|
+
@builder.expects(:render_before_blocks).at_least_once
|
382
|
+
@builder.expects(:render_after_blocks).at_least_once
|
372
383
|
block = Proc.new {|options|}
|
373
384
|
@view.expects(:render).with("some_block", :value1 => 1, :value2 => 2).never
|
374
385
|
@view.expects(:render).with("blocks/some_block", :value1 => 1, :value2 => 2).never
|
375
386
|
@view.expects(:capture).with(:value1 => 1, :value2 => 2)
|
376
387
|
@builder.render :some_block, :value1 => 1, :value2 => 2, &block
|
377
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS")
|
378
|
-
BuildingBlocks.const_set("USE_PARTIALS", true)
|
379
388
|
end
|
380
389
|
|
381
390
|
it "should override hash options for a block by merging the runtime options the define default options into the queue level options into the global options" do
|
@@ -410,47 +419,35 @@ describe BuildingBlocks::Base do
|
|
410
419
|
@builder.render :my_before_block, 1, 2, :value3 => 3, :value4 => 4
|
411
420
|
end
|
412
421
|
|
413
|
-
it "should try and render a before block as a local partial if no before blocks are specified and
|
414
|
-
|
415
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", true)
|
422
|
+
it "should try and render a before block as a local partial if no before blocks are specified and use_partials_for_before_and_after_hooks is set to true" do
|
423
|
+
@builder.use_partials_for_before_and_after_hooks = true
|
416
424
|
block = Proc.new {}
|
417
425
|
@view.expects(:capture).never
|
418
426
|
@view.expects(:render).with("before_my_before_block", :value1 => 1, :value2 => 2).once
|
419
427
|
@view.expects(:render).with("blocks/before_my_before_block", :value1 => 1, :value2 => 2).never
|
420
428
|
@builder.render :my_before_block, :value1 => 1, :value2 => 2
|
421
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS")
|
422
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", true)
|
423
429
|
end
|
424
430
|
|
425
|
-
it "should try and render a before block as a global partial if no after blocks are specified and the local partial does not exist and
|
426
|
-
|
427
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", true)
|
431
|
+
it "should try and render a before block as a global partial if no after blocks are specified and the local partial does not exist and use_partials_for_before_and_after_hooks is set to true" do
|
432
|
+
@builder.use_partials_for_before_and_after_hooks = true
|
428
433
|
block = Proc.new {}
|
429
434
|
@view.expects(:capture).never
|
430
435
|
@view.expects(:render).with("before_my_before_block", :value1 => 1, :value2 => 2).raises(ActionView::MissingTemplate.new([],[],[],[],[]))
|
431
436
|
@view.expects(:render).with("blocks/before_my_before_block", :value1 => 1, :value2 => 2).once
|
432
437
|
@builder.render :my_before_block, :value1 => 1, :value2 => 2
|
433
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS")
|
434
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", false)
|
435
438
|
end
|
436
439
|
|
437
|
-
it "should not attempt to render a before block as a partial if
|
438
|
-
|
439
|
-
|
440
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS")
|
441
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", true)
|
440
|
+
it "should not attempt to render a before block as a partial if use_partials is set to false even if use_partials_for_before_and_after_hooks is set to true" do
|
441
|
+
@builder.use_partials = false
|
442
|
+
@builder.use_partials_for_before_and_after_hooks = true
|
442
443
|
block = Proc.new {}
|
443
444
|
@view.expects(:capture).never
|
444
445
|
@view.expects(:render).with("before_my_before_block", :value1 => 1, :value2 => 2).never
|
445
446
|
@view.expects(:render).with("blocks/before_my_before_block", :value1 => 1, :value2 => 2).never
|
446
447
|
@builder.render :my_before_block, :value1 => 1, :value2 => 2
|
447
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS")
|
448
|
-
BuildingBlocks.const_set("USE_PARTIALS", true)
|
449
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS")
|
450
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", false)
|
451
448
|
end
|
452
449
|
|
453
|
-
it "should not attempt to render a before block as a partial if
|
450
|
+
it "should not attempt to render a before block as a partial if use_partials_for_before_and_after_hooks is set to false" do
|
454
451
|
block = Proc.new {}
|
455
452
|
@view.expects(:capture).never
|
456
453
|
@view.expects(:render).with("before_my_before_block", :value1 => 1, :value2 => 2).never
|
@@ -481,47 +478,35 @@ describe BuildingBlocks::Base do
|
|
481
478
|
@builder.render :my_after_block, 1, 2, :value3 => 3, :value4 => 4
|
482
479
|
end
|
483
480
|
|
484
|
-
it "should try and render a after block as a local partial if no after blocks are specified and
|
485
|
-
|
486
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", true)
|
481
|
+
it "should try and render a after block as a local partial if no after blocks are specified and use_partials_for_before_and_after_hooks is set to true" do
|
482
|
+
@builder.use_partials_for_before_and_after_hooks = true
|
487
483
|
block = Proc.new {}
|
488
484
|
@view.expects(:capture).never
|
489
485
|
@view.expects(:render).with("after_my_after_block", :value1 => 1, :value2 => 2).once
|
490
486
|
@view.expects(:render).with("blocks/after_my_after_block", :value1 => 1, :value2 => 2).never
|
491
487
|
@builder.render :my_after_block, :value1 => 1, :value2 => 2
|
492
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS")
|
493
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", false)
|
494
488
|
end
|
495
489
|
|
496
|
-
it "should try and render a after block as a global partial if no after blocks are specified and the local partial does not exist and
|
497
|
-
|
498
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", true)
|
490
|
+
it "should try and render a after block as a global partial if no after blocks are specified and the local partial does not exist and use_partials_for_before_and_after_hooks is set to true" do
|
491
|
+
@builder.use_partials_for_before_and_after_hooks = true
|
499
492
|
block = Proc.new {}
|
500
493
|
@view.expects(:capture).never
|
501
494
|
@view.expects(:render).with("after_my_after_block", :value1 => 1, :value2 => 2).raises(ActionView::MissingTemplate.new([],[],[],[],[]))
|
502
495
|
@view.expects(:render).with("blocks/after_my_after_block", :value1 => 1, :value2 => 2).once
|
503
496
|
@builder.render :my_after_block, :value1 => 1, :value2 => 2
|
504
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS")
|
505
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", false)
|
506
497
|
end
|
507
498
|
|
508
|
-
it "should not attempt to render a after block as a partial if
|
509
|
-
|
510
|
-
|
511
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS")
|
512
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", true)
|
499
|
+
it "should not attempt to render a after block as a partial if use_partials is set to false even if use_partials_for_before_and_after_hooks is set to false" do
|
500
|
+
@builder.use_partials = false
|
501
|
+
@builder.use_partials_for_before_and_after_hooks = true
|
513
502
|
block = Proc.new {}
|
514
503
|
@view.expects(:capture).never
|
515
504
|
@view.expects(:render).with("after_my_after_block", :value1 => 1, :value2 => 2).never
|
516
505
|
@view.expects(:render).with("blocks/after_my_after_block", :value1 => 1, :value2 => 2).never
|
517
506
|
@builder.render :my_after_block, :value1 => 1, :value2 => 2
|
518
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS")
|
519
|
-
BuildingBlocks.const_set("USE_PARTIALS", true)
|
520
|
-
BuildingBlocks.send(:remove_const, "USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS")
|
521
|
-
BuildingBlocks.const_set("USE_PARTIALS_FOR_BEFORE_AND_AFTER_HOOKS", false)
|
522
507
|
end
|
523
508
|
|
524
|
-
it "should not attempt to render a after block as a partial if
|
509
|
+
it "should not attempt to render a after block as a partial if use_partials_for_before_and_after_hooks is set to false" do
|
525
510
|
block = Proc.new {}
|
526
511
|
@view.expects(:capture).never
|
527
512
|
@view.expects(:render).with("after_my_after_block", :value1 => 1, :value2 => 2).never
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: building-blocks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 1.2.
|
9
|
+
- 2
|
10
|
+
version: 1.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andrew Hunter
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-02-
|
18
|
+
date: 2012-02-09 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -216,6 +216,20 @@ dependencies:
|
|
216
216
|
prerelease: false
|
217
217
|
type: :development
|
218
218
|
requirement: *id014
|
219
|
+
- !ruby/object:Gem::Dependency
|
220
|
+
name: jeweler
|
221
|
+
version_requirements: &id015 !ruby/object:Gem::Requirement
|
222
|
+
none: false
|
223
|
+
requirements:
|
224
|
+
- - ">="
|
225
|
+
- !ruby/object:Gem::Version
|
226
|
+
hash: 3
|
227
|
+
segments:
|
228
|
+
- 0
|
229
|
+
version: "0"
|
230
|
+
prerelease: false
|
231
|
+
type: :development
|
232
|
+
requirement: *id015
|
219
233
|
description: ""
|
220
234
|
email: hunterae@gmail.com
|
221
235
|
executables: []
|