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
2016-02-04 22:54:21 -06:00

40 lines
562 B
Ruby

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
end
end