Class: Arrays::ArrayInsertTag
- Inherits:
-
Liquid::Tag
- Object
- Liquid::Tag
- Arrays::ArrayInsertTag
- Includes:
- ErrorHandler
- Defined in:
- lib/liquid-arrays/array_insert_tag.rb
Instance Method Summary collapse
Methods included from ErrorHandler
Instance Method Details
#parse(tokens) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/liquid-arrays/array_insert_tag.rb', line 5 def parse(tokens) super catch do parser = AttributeParser.new(@parse_context, @markup) @array_name = parser.consume_attribute('array', :id) @index = parser.consume_required_attribute('index', :integer) @value = parser.consume_required_attribute('value') parser.finish end end |
#render(context) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/liquid-arrays/array_insert_tag.rb', line 16 def render(context) array = ArrayHelper.get_array(context, @array_name, false) index = @index.render(context) if !array.nil? && index.is_a?(Integer) && index >= 0 && index <= array.length array.insert(index, @value.render(context)) end '' end |