Sha256: 05d77def3646b9f3470412fb72321bc30b2fb4c30bd60657dcc2039cab037737
Contents?: true
Size: 825 Bytes
Versions: 4
Compression:
Stored size: 825 Bytes
Contents
module Haml class Options @defaults = @defaults.merge({:raw_interpolated_tags => []}) attr_accessor :raw_interpolated_tags end module Util def unescape_interpolation(str, escape_html = nil) res = '' rest = Haml::Util.handle_interpolation str.dump do |scan| escapes = (scan[2].size - 1) / 2 res << scan.matched[0...-3 - escapes] if escapes % 2 == 1 res << '#{' else content = eval('"' + balance(scan, ?{, ?}, 1)[0][0...-1] + '"') tag = content[/(\S+\s?){1}/].strip.to_sym content = "Haml::Helpers.html_escape((#{content}))" if escape_html && !@options[:raw_interpolated_tags].include?(tag) res << '#{' + content + "}"# Use eval to get rid of string escapes end end res + rest end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
alfa-0.0.8.pre | lib/haml/alfa_patch.rb |
alfa-0.0.7.pre | lib/haml/alfa_patch.rb |
alfa-0.0.6.pre | lib/haml/alfa_patch.rb |
alfa-0.0.5.pre | lib/haml/alfa_patch.rb |