Class: Handlebars::Helper
- Inherits:
-
Object
- Object
- Handlebars::Helper
- Defined in:
- lib/ruby-handlebars/helper.rb
Instance Method Summary collapse
- #apply(context, arguments = [], block = [], else_block = []) ⇒ Object
- #apply_as(context, arguments = [], as_arguments = [], block = [], else_block = []) ⇒ Object
-
#initialize(hbs, fn) ⇒ Helper
constructor
A new instance of Helper.
Constructor Details
#initialize(hbs, fn) ⇒ Helper
Returns a new instance of Helper.
5 6 7 8 |
# File 'lib/ruby-handlebars/helper.rb', line 5 def initialize(hbs, fn) @hbs = hbs @fn = fn end |
Instance Method Details
#apply(context, arguments = [], block = [], else_block = []) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/ruby-handlebars/helper.rb', line 10 def apply(context, arguments = [], block = [], else_block = []) arguments = [arguments] unless arguments.is_a? Array args = [context] + arguments.map {|arg| arg.eval(context)} + split_block(block, else_block) @fn.call(*args) end |
#apply_as(context, arguments = [], as_arguments = [], block = [], else_block = []) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/ruby-handlebars/helper.rb', line 17 def apply_as(context, arguments = [], as_arguments = [], block = [], else_block = []) arguments = [arguments] unless arguments.is_a? Array as_arguments = [as_arguments] unless as_arguments.is_a? Array args = [context] + arguments.map {|arg| arg.eval(context)} + as_arguments.map(&:name) + split_block(block, else_block) @fn.call(*args) end |