class Haml::AttributeCompiler
def compile_data!(temple, key, values)
def compile_data!(temple, key, values) args = [@escape_attrs.inspect, "#{@quote.inspect}.freeze", values.map { |v| literal_for(v) }] build_code = "::Haml::AttributeBuilder.build_#{key}(#{args.join(', ')})" if values.all? { |type, exp| type == :static || Temple::StaticAnalyzer.static?(exp) } temple << [:static, eval(build_code).to_s] else temple << [:dynamic, build_code] end end