Sha256: 1545a97edba9e7bbe5fc318672bdcfdd2f86d5c40921a3b00f44cd26ca245412

Contents?: true

Size: 761 Bytes

Versions: 34

Compression:

Stored size: 761 Bytes

Contents

# frozen_string_literal: true

require 'stringio'

module Puma
  class IOBuffer < StringIO
    def initialize
      super.binmode
    end

    def empty?
      length.zero?
    end

    def reset
      truncate 0
      rewind
    end

    def to_s
      rewind
      read
    end

    # Read & Reset - returns contents and resets
    # @return [String] StringIO contents
    def read_and_reset
      rewind
      str = read
      truncate 0
      rewind
      str
    end

    alias_method :clear, :reset

    # before Ruby 2.5, `write` would only take one argument
    if RUBY_VERSION >= '2.5' && RUBY_ENGINE != 'truffleruby'
      alias_method :append, :write
    else
      def append(*strs)
        strs.each { |str| write str }
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 4 rubygems

Version Path
puma-6.6.0-java lib/puma/io_buffer.rb
puma-6.6.0 lib/puma/io_buffer.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/puma-6.5.0/lib/puma/io_buffer.rb
puma-6.5.0-java lib/puma/io_buffer.rb
puma-6.5.0 lib/puma/io_buffer.rb
jun-puma-1.0.1-java lib/puma/io_buffer.rb
jun-puma-1.0.0-java lib/puma/io_buffer.rb
puma-6.4.3-java lib/puma/io_buffer.rb
puma-6.4.3 lib/puma/io_buffer.rb
tinymce-rails-7.1.2 vendor/bundle/ruby/3.3.0/gems/puma-6.4.2/lib/puma/io_buffer.rb
puma-6.4.2-java lib/puma/io_buffer.rb
puma-6.4.2 lib/puma/io_buffer.rb
puma-6.4.1-java lib/puma/io_buffer.rb
puma-6.4.1 lib/puma/io_buffer.rb
puma-6.4.0-java lib/puma/io_buffer.rb
puma-6.4.0 lib/puma/io_buffer.rb
puma-6.3.1-java lib/puma/io_buffer.rb
puma-6.3.1 lib/puma/io_buffer.rb
puma-6.3.0-java lib/puma/io_buffer.rb
puma-6.3.0 lib/puma/io_buffer.rb