Module: Hamlit::Concerns::StringInterpolation

Included in:
Hamlit::Compilers::RuntimeAttribute, Hamlit::Compilers::Text, Filters::Tilt
Defined in:
lib/hamlit/concerns/string_interpolation.rb

Instance Method Summary collapse

Instance Method Details

#contains_interpolation?(str) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/hamlit/concerns/string_interpolation.rb', line 14

def contains_interpolation?(str)
  /#[\{$@]/ === str
end

#string_literal(str) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/hamlit/concerns/string_interpolation.rb', line 4

def string_literal(str)
  res = ''
  rest = handle_interpolation(str.inspect) do |scan|
    escapes = (scan[2].size - 1) / 2
    res << scan.matched[0...-3 - escapes]
    res << (escapes.odd? ? '#{' : unescape_interpolation(scan))
  end
  res + rest
end