Sha256: b761a5dc7670c1f2598bf66fd9dfb510f6e519cf4dbb80575f94d60c38e8fe12

Contents?: true

Size: 579 Bytes

Versions: 8

Compression:

Stored size: 579 Bytes

Contents

module Hamlit
  module Compilers
    module Script
      def on_haml_script(code, options, *exps)
        variable = result_identifier

        assign = [:code, "#{variable} = #{code}"]
        result = [:escape, true, [:dynamic, variable]]
        result = [:dynamic, variable] if options[:disable_escape]
        [:multi, assign, *exps.map { |exp| compile(exp) }, compile(result)]
      end

      private

      def result_identifier
        @id_auto_increment ||= -1
        @id_auto_increment += 1
        "_hamlit_compiler#{@id_auto_increment}"
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hamlit-1.2.1 lib/hamlit/compilers/script.rb
hamlit-1.2.0 lib/hamlit/compilers/script.rb
hamlit-1.1.1 lib/hamlit/compilers/script.rb
hamlit-1.1.0 lib/hamlit/compilers/script.rb
hamlit-1.0.0 lib/hamlit/compilers/script.rb
hamlit-0.6.2 lib/hamlit/compilers/script.rb
hamlit-0.6.1 lib/hamlit/compilers/script.rb
hamlit-0.6.0 lib/hamlit/compilers/script.rb