Class: Liquify::Block::Drop
- Inherits:
-
Liquid::Drop
- Object
- Liquid::Drop
- Liquify::Block::Drop
- Defined in:
- lib/liquify/block.rb
Instance Method Summary collapse
-
#initialize(obj, tokens, context) ⇒ Drop
constructor
:nodoc:.
-
#invoke_drop(key) ⇒ Object
(also: #[])
:nodoc:.
Constructor Details
#initialize(obj, tokens, context) ⇒ Drop
:nodoc:
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/liquify/block.rb', line 51 def initialize(obj, tokens, context) # :nodoc: @obj = obj @params = {} tokens.each do |t| match, key, value = t.match(/\{\{\s*f\.(\w+)(.*)\}\}/).to_a @params[key] ||= [] @params[key] << Liquify::Parameter.new(value, context) end end |
Instance Method Details
#invoke_drop(key) ⇒ Object Also known as: []
:nodoc:
63 64 65 66 67 68 |
# File 'lib/liquify/block.rb', line 63 def invoke_drop(key) # :nodoc: allowed_methods = @obj.public_methods(false) - [:invoke] return unless allowed_methods.include?(key.to_sym) @obj.method(key).arity == 1 ? @obj.send(key, @params[key].pop) : @obj.send(key) end |