Sha256: b004f812c5cded643282cf4d92393af515266975e5bb40802b6d947602a8f416

Contents?: true

Size: 543 Bytes

Versions: 2

Compression:

Stored size: 543 Bytes

Contents

module Hamlit
  module Block
    # Suppress block's internal rendering result and pass it to [:capture, ...].
    module ScriptCompilerExtension
      attr_reader :identity

      def compile_script_assign(var, node, &block)
        if node.children.empty?
          super
        else
          [:multi,
           [:block, "#{var} = #{node.value[:text]}",
            [:multi,
             [:newline],
             [:capture, @identity.generate, yield(node)],
            ],
           ],
          ]
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hamlit-block-0.3.1 lib/hamlit/block/script_compiler_extension.rb
hamlit-block-0.3.0 lib/hamlit/block/script_compiler_extension.rb