Method: BuildingBlocks::Base#replace

Defined in:
lib/building_blocks/base.rb

#replace(name, options = {}, &block) ⇒ Object

Define a block, replacing an existing block by the same name if it is already defined.

<%= blocks.define :some_block_name, :parameter1 => "1", :parameter2 => "2" do |options| %>
  <%= options[:parameter1] %> and <%= options[:parameter2] %>
<% end %>

<%= blocks.replace :some_block_name, :parameter3 => "3", :parameter4 => "4" do |options| %>
  <%= options[:parameter3] %> and <%= options[:parameter4] %>
<% end %>

Options:

name

The name of the block being defined (either a string or a symbol)

options

The default options for the block definition. Any or all of these options may be overrideen by whomever calls “blocks.render” on this block.

block

The block that is to be rendered when “blocks.render” is called for this block.



85
86
87
88
89
# File 'lib/building_blocks/base.rb', line 85

def replace(name, options={}, &block)
  blocks[name.to_sym] = nil
  self.define_block_container(name, options, &block)
  nil
end