Sha256: ab3da6a9fccd6a86ed1fe26b199138dbdab2e23747a57dfc571ed52fa761a712

Contents?: true

Size: 646 Bytes

Versions: 11

Compression:

Stored size: 646 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
          [save_buffer, "#{buffer} = #{exp.last.inspect}", restore_buffer].compact.join('; ')
        when :dynamic
          [save_buffer, "#{buffer} = (#{exp.last}).to_s", restore_buffer].compact.join('; ')
        else
          super
        end
      end

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

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
brakeman-3.3.0 bundle/ruby/2.3.0/gems/temple-0.7.6/lib/temple/generators/array_buffer.rb
angular-rails4-templates-0.4.1 vendor/ruby/2.1.0/gems/temple-0.7.6/lib/temple/generators/array_buffer.rb
angular-rails4-templates-0.4.0 vendor/ruby/2.1.0/gems/temple-0.7.6/lib/temple/generators/array_buffer.rb
angular-rails4-templates-0.3.0 vendor/ruby/2.1.0/gems/temple-0.7.6/lib/temple/generators/array_buffer.rb
temple-0.7.6 lib/temple/generators/array_buffer.rb
temple-0.7.5 lib/temple/generators/array_buffer.rb
temple-0.7.4 lib/temple/generators/array_buffer.rb
temple-0.7.3 lib/temple/generators/array_buffer.rb
temple-0.7.2 lib/temple/generators/array_buffer.rb
temple-0.7.1 lib/temple/generators/array_buffer.rb
temple-0.6.10 lib/temple/generators/array_buffer.rb