Sha256: d8425a40e8549f02f0f0ad4ca8f27e89b3ac1c42ac5aad2c1373515a1ac51582

Contents?: true

Size: 645 Bytes

Versions: 29

Compression:

Stored size: 645 Bytes

Contents

module Puma

  # Provides an IO-like object that always appears to contain no data.
  # Used as the value for rack.input when the request has no body.
  #
  class NullIO
    # Always returns nil
    #
    def gets
      nil
    end

    # Never yields
    #
    def each
    end

    # Mimics IO#read with no data
    #
    def read(count=nil,buffer=nil)
      (count && count > 0) ? nil : ""
    end

    # Does nothing
    #
    def rewind
    end

    # Does nothing
    #
    def close
    end

    # Always zero
    #
    def size
      0
    end

    def sync=(v)
    end

    def puts(*ary)
    end

    def write(*ary)
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
puma-3.6.2-java lib/puma/null_io.rb
puma-3.6.2 lib/puma/null_io.rb
puma-3.6.1-java lib/puma/null_io.rb
puma-3.6.1 lib/puma/null_io.rb
puma-3.6.0-java lib/puma/null_io.rb
puma-3.6.0 lib/puma/null_io.rb
puma-3.5.2-java lib/puma/null_io.rb
puma-3.5.2 lib/puma/null_io.rb
puma-3.5.1-java lib/puma/null_io.rb
puma-3.5.1 lib/puma/null_io.rb
puma-3.5.0-java lib/puma/null_io.rb
puma-3.5.0 lib/puma/null_io.rb
puma-3.4.0-java lib/puma/null_io.rb
puma-3.4.0 lib/puma/null_io.rb
puma-3.3.0-java lib/puma/null_io.rb
puma-3.3.0 lib/puma/null_io.rb
puma-3.2.0-java lib/puma/null_io.rb
puma-3.2.0 lib/puma/null_io.rb
puma-3.1.1-java lib/puma/null_io.rb
puma-3.1.1 lib/puma/null_io.rb