Module: HammerBuilder::Helper::ClassMethods

Defined in:
lib/hammer_builder/helper.rb

Instance Method Summary (collapse)

Instance Method Details

- (Object) builder(method_name) {|self| ... }

adds instance method to the class. Method accepts any instance of builder and returns it after rendering.

Examples:

class User
# ...
  include HammerBuilder::Helper

  builder :menu do |user|
    li user.name
  end
end

User.new.menu(HammerBuilder::Standard.get).to_xhtml! #=> "<li>Name</li>"

Parameters:

  • method_name (Symbol)

Yields:

  • (self)

    builder_block is evaluated inside builder and accepts instance of a rendered object as parameter



26
27
28
29
30
31
# File 'lib/hammer_builder/helper.rb', line 26

def builder(method_name, &builder_block)
  self.builder_methods += [method_name.to_sym]
  define_method(method_name) do |builder, *args|
    builder.go_in(self, *args, &builder_block)
  end
end