Sha256: dae74254f324e0ac6083345d2ae827fc4a0262629f2e29ebbea461e80e61a067
Contents?: true
Size: 870 Bytes
Versions: 2
Compression:
Stored size: 870 Bytes
Contents
# frozen_string_literal: true require 'hamlit/string_splitter' module Hamlit class Filters class Plain < Base def compile(node) text = node.value[:text] text = text.rstrip unless ::Hamlit::HamlUtil.contains_interpolation?(text) # for compatibility [:multi, *compile_plain(text)] end private def compile_plain(text) string_literal = ::Hamlit::HamlUtil.unescape_interpolation(text) unless Ripper.respond_to?(:lex) # truffleruby doesn't have Ripper.lex return [[:escape, false, [:dynamic, string_literal]]] end StringSplitter.compile(string_literal).map do |temple| type, str = temple case type when :dynamic [:escape, false, [:dynamic, str]] else temple end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hamlit-2.9.5-java | lib/hamlit/filters/plain.rb |
hamlit-2.9.5 | lib/hamlit/filters/plain.rb |