Sha256: 5d45c4819ce60c06622b7956cb9b011c5c61321fdeccde28a6524fc7a402ed21
Contents?: true
Size: 876 Bytes
Versions: 2
Compression:
Stored size: 876 Bytes
Contents
# frozen_string_literal: true require 'hamlit/string_splitter' module Hamlit class Filters class Plain < Base def compile(node) unless Ripper.respond_to?(:lex) raise NotImplementedError.new('This platform does not have Ripper.lex required for :plain filter') end 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) 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.4-java | lib/hamlit/filters/plain.rb |
hamlit-2.9.4 | lib/hamlit/filters/plain.rb |