class Temple::HTML::Fast
def merge_basicattrs(attrs)
def merge_basicattrs(attrs) result = [] position = {} attrs.each do |(html, type, (name_type, name), value)| if pos = position[name] case name when 'class', 'id' value = [:multi, result[pos].last, # previous value [:static, (name == 'class' ? ' ' : '_')], # delimiter value] # new value end result[pos] = [name, value] else position[name] = result.size result << [name, value] end end final = [] result.each_with_index do |(name, value), index| final << [:html, :basicattr, [:static, name], value] end final end