Sha256: 9b7afe92fb6707ebb2781bebba9703df7d38b8a80ceb5304c26415276080b103

Contents?: true

Size: 542 Bytes

Versions: 5

Compression:

Stored size: 542 Bytes

Contents

module Temple
  module Generators
    # Just like Array, but calls #join on the array.
    #
    #   _buf = []
    #   _buf << "static"
    #   _buf << dynamic
    #   _buf.join
    #
    # @api public
    class ArrayBuffer < Array
      def call(exp)
        case exp.first
        when :static
          "#{buffer} = #{exp.last.inspect}"
        when :dynamic
          "#{buffer} = (#{exp.last}).to_s"
        else
          super
        end
      end

      def postamble
        "#{buffer} = #{buffer}.join"
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
temple-0.6.9 lib/temple/generators/array_buffer.rb
temple-0.6.8 lib/temple/generators/array_buffer.rb
temple-0.6.7 lib/temple/generators/array_buffer.rb
temple-0.6.6 lib/temple/generators/array_buffer.rb
temple-0.6.5 lib/temple/generators/array_buffer.rb