Class: Arrays::HashSetTag

Inherits:
Liquid::Tag
  • Object
show all
Includes:
ErrorHandler
Defined in:
lib/liquid-arrays/hash_set_tag.rb

Instance Method Summary collapse

Methods included from ErrorHandler

#catch, #handle

Instance Method Details

#parse(tokens) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/liquid-arrays/hash_set_tag.rb', line 5

def parse(tokens)
  super
  catch do
    parser = AttributeParser.new(@parse_context, @markup)
    @hash_name = parser.consume_attribute('hash', :id)
    @key = parser.consume_required_attribute('key')
    @value = parser.consume_required_attribute('value')
    parser.finish
  end
end

#render(context) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/liquid-arrays/hash_set_tag.rb', line 16

def render(context)
  hash = HashHelper.get_hash(context, @hash_name, true)
  unless hash.nil?
    hash[@key.render(context)] = @value.render(context)
  end
  ''
end