1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/lib/puma/null_io.rb
schneems 88e51fb08e Freeze all the strings!
Reduces runtime allocation by freezing string literals by default.

We could also remove a ton of manual `.freeze` calls, however the ruby supported version is 2.2 and the magic comment only targets 2.3+.
2018-09-17 11:41:14 -05:00

44 lines
585 B
Ruby

# frozen_string_literal: true
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
def gets
nil
end
def each
end
# Mimics IO#read with no data.
#
def read(count = nil, _buffer = nil)
(count && count > 0) ? nil : ""
end
def rewind
end
def close
end
def size
0
end
def eof?
true
end
def sync=(v)
end
def puts(*ary)
end
def write(*ary)
end
end
end