class Temple::CoffeeScript::AttributeMerger
Public Instance Methods
on_html_attrs(*attrs)
click to toggle source
# File lib/temple/coffee_script/filters/attribute_merger.rb, line 8 def on_html_attrs(*attrs) names = [] result = {} attrs.each do |html, attr, name, value| raise(InvalidExpression, 'Attribute is not a html attr') if html != :html || attr != :attr name = name.to_s if delimiter = options[:merge_attrs][name] if current = result[name] current << [:static, delimiter] << value else result[name] = [:multi, value] names << name end else raise "Multiple #{name} attributes specified" if result[name] result[name] = value names << name end end [:html, :attrs, *names.map {|name| [:html, :attr, name, result[name]]}] end