Sha256: ac1b818ef14538089c07524421805e180f5152ff46198b7d7dd231f3c1ae044d
Contents?: true
Size: 822 Bytes
Versions: 10
Compression:
Stored size: 822 Bytes
Contents
# frozen_string_literal: true module Temple module Filters # Merges several statics into a single static. Example: # # [:multi, # [:static, "Hello "], # [:static, "World!"]] # # Compiles to: # # [:static, "Hello World!"] # # @api public class StaticMerger < Filter def on_multi(*exps) result = [:multi] text = nil exps.each do |exp| if exp.first == :static if text text << exp.last else text = exp.last.dup result << [:static, text] end else result << compile(exp) text = nil unless exp.first == :newline end end result.size == 2 ? result[1] : result end end end end
Version data entries
10 entries across 9 versions & 3 rubygems