Sha256: 4de02cd36e38ccedbcaf84a488805a3e97317eb9d94546c4b6fcc7fe02e618eb
Contents?: true
Size: 553 Bytes
Versions: 9
Compression:
Stored size: 553 Bytes
Contents
# frozen-string-literal: true require 'temple' module Faml class ScriptEnd < Temple::Filter def on_multi(*exprs) i = exprs.size - 1 depth = 0 while i >= 0 case exprs[i] when [:mkend] if depth > 0 # Cancel :mkend depth -= 1 exprs.delete_at(i) else exprs[i] = [:code, 'end'.freeze] end when [:rmend] depth += 1 exprs.delete_at(i) end i -= 1 end [:multi, *exprs] end end end
Version data entries
9 entries across 9 versions & 1 rubygems