building-blocks 0.0.5 → 0.0.6
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/VERSION +1 -1
- data/lib/building_blocks/building_blocks.rb +30 -15
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
@@ -190,23 +190,22 @@ module BuildingBlocks
|
|
190
190
|
end
|
191
191
|
|
192
192
|
def render_block(name_or_container, args, runtime_options={})
|
193
|
-
# render_options = runtime_options
|
194
|
-
|
195
193
|
buffer = ActionView::NonConcattingString.new
|
196
194
|
|
195
|
+
block_options = {}
|
197
196
|
if (name_or_container.is_a?(BuildingBlocks::Container))
|
198
197
|
name = name_or_container.name.to_sym
|
199
|
-
|
198
|
+
block_options = name_or_container.options
|
200
199
|
else
|
201
200
|
name = name_or_container.to_sym
|
202
201
|
end
|
203
202
|
|
204
|
-
buffer << render_before_blocks(
|
203
|
+
buffer << render_before_blocks(name_or_container, runtime_options)
|
205
204
|
|
206
205
|
if blocks[name]
|
207
206
|
block_container = blocks[name]
|
208
207
|
|
209
|
-
args.push(global_options.merge(block_container.options).merge(runtime_options))
|
208
|
+
args.push(global_options.merge(block_container.options).merge(block_options).merge(runtime_options))
|
210
209
|
|
211
210
|
# If the block is taking more than one parameter, we can use *args
|
212
211
|
if block_container.block.arity > 1
|
@@ -220,7 +219,7 @@ module BuildingBlocks
|
|
220
219
|
elsif view.blocks.blocks[name]
|
221
220
|
block_container = view.blocks.blocks[name]
|
222
221
|
|
223
|
-
args.push(global_options.merge(block_container.options).merge(runtime_options))
|
222
|
+
args.push(global_options.merge(block_container.options).merge(block_options).merge(runtime_options))
|
224
223
|
|
225
224
|
# If the block is taking more than one parameter, we can use *args
|
226
225
|
if block_container.block.arity > 1
|
@@ -234,24 +233,32 @@ module BuildingBlocks
|
|
234
233
|
else
|
235
234
|
begin
|
236
235
|
begin
|
237
|
-
buffer << view.render("#{name.to_s}", global_options.merge(runtime_options))
|
236
|
+
buffer << view.render("#{name.to_s}", global_options.merge(block_options).merge(runtime_options))
|
238
237
|
rescue ActionView::MissingTemplate
|
239
238
|
# This partial did not exist in the current controller's view directory; now checking in the default templates folder
|
240
|
-
buffer << view.render("#{self.global_options[:templates_folder]}/#{name.to_s}", global_options.merge(runtime_options))
|
239
|
+
buffer << view.render("#{self.global_options[:templates_folder]}/#{name.to_s}", global_options.merge(block_options).merge(runtime_options))
|
241
240
|
end
|
242
241
|
rescue ActionView::MissingTemplate
|
243
242
|
# This block does not exist and no partial can be found to satify it
|
244
243
|
end
|
245
244
|
end
|
246
245
|
|
247
|
-
buffer << render_after_blocks(
|
246
|
+
buffer << render_after_blocks(name_or_container, runtime_options)
|
248
247
|
|
249
248
|
buffer
|
250
249
|
end
|
251
250
|
|
252
|
-
def render_before_blocks(
|
251
|
+
def render_before_blocks(name_or_container, runtime_options={})
|
253
252
|
options = global_options
|
254
253
|
|
254
|
+
block_options = {}
|
255
|
+
if (name_or_container.is_a?(BuildingBlocks::Container))
|
256
|
+
name = name_or_container.name.to_sym
|
257
|
+
block_options = name_or_container.options
|
258
|
+
else
|
259
|
+
name = name_or_container.to_sym
|
260
|
+
end
|
261
|
+
|
255
262
|
before_name = "before_#{name.to_s}".to_sym
|
256
263
|
|
257
264
|
if blocks[name]
|
@@ -268,22 +275,30 @@ module BuildingBlocks
|
|
268
275
|
|
269
276
|
unless blocks[before_name].nil?
|
270
277
|
blocks[before_name].each do |block_container|
|
271
|
-
buffer << view.capture(options.merge(block_container.options).merge(runtime_options), &block_container.block)
|
278
|
+
buffer << view.capture(options.merge(block_container.options).merge(block_options).merge(runtime_options), &block_container.block)
|
272
279
|
end
|
273
280
|
end
|
274
281
|
|
275
282
|
unless view.blocks.blocks[before_name].nil? || view.blocks.blocks == blocks
|
276
283
|
view.blocks.blocks[before_name].each do |block_container|
|
277
|
-
buffer << view.capture(options.merge(block_container.options).merge(runtime_options), &block_container.block)
|
284
|
+
buffer << view.capture(options.merge(block_container.options).merge(block_options).merge(runtime_options), &block_container.block)
|
278
285
|
end
|
279
286
|
end
|
280
287
|
|
281
288
|
buffer
|
282
289
|
end
|
283
290
|
|
284
|
-
def render_after_blocks(
|
291
|
+
def render_after_blocks(name_or_container, runtime_options={})
|
285
292
|
options = global_options
|
286
293
|
|
294
|
+
block_options = {}
|
295
|
+
if (name_or_container.is_a?(BuildingBlocks::Container))
|
296
|
+
name = name_or_container.name.to_sym
|
297
|
+
block_options = name_or_container.options
|
298
|
+
else
|
299
|
+
name = name_or_container.to_sym
|
300
|
+
end
|
301
|
+
|
287
302
|
after_name = "after_#{name.to_s}".to_sym
|
288
303
|
|
289
304
|
if blocks[name]
|
@@ -300,13 +315,13 @@ module BuildingBlocks
|
|
300
315
|
|
301
316
|
unless blocks[after_name].nil?
|
302
317
|
blocks[after_name].each do |block_container|
|
303
|
-
buffer << view.capture(options.merge(block_container.options).merge(runtime_options), &block_container.block)
|
318
|
+
buffer << view.capture(options.merge(block_container.options).merge(block_options).merge(runtime_options), &block_container.block)
|
304
319
|
end
|
305
320
|
end
|
306
321
|
|
307
322
|
unless view.blocks.blocks[after_name].nil? || view.blocks.blocks == blocks
|
308
323
|
view.blocks.blocks[after_name].each do |block_container|
|
309
|
-
buffer << view.capture(options.merge(block_container.options).merge(runtime_options), &block_container.block)
|
324
|
+
buffer << view.capture(options.merge(block_container.options).merge(block_options).merge(runtime_options), &block_container.block)
|
310
325
|
end
|
311
326
|
end
|
312
327
|
|
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: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 6
|
10
|
+
version: 0.0.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andrew Hunter
|