Sha256: cafb01c7407dce3042e8367ab8af235bff8d30f51ebb42722c9598dbb6797385
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
module Slim # In Slim you don't need the do keyword sometimes. This # filter adds the missing keyword. # # - 10.times # | Hello # # @api private class DoInserter < Filter BLOCK_REGEX = /(\A(if|unless|else|elsif|when|begin|rescue|ensure)\b)|do\s*(\|[^\|]*\|\s*)?\Z/ # Handle control expression `[:slim, :control, code, content]` # # @param [String] code Ruby code # @param [Array] content Temple expression # @return [Array] Compiled temple expression def on_slim_control(code, content) code = code + ' do' unless code =~ BLOCK_REGEX || empty_exp?(content) [:slim, :control, code, compile(content)] end # Handle output expression `[:slim, :output, escape, code, content]` # # @param [Boolean] escape Escape html # @param [String] code Ruby code # @param [Array] content Temple expression # @return [Array] Compiled temple expression def on_slim_output(escape, code, content) code = code + ' do' unless code =~ BLOCK_REGEX || empty_exp?(content) [:slim, :output, escape, code, compile(content)] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
slim-2.0.0 | lib/slim/do_inserter.rb |