Augment the IO class to allow it to determine if an input object has data waiting and to add a binread instance method which will read external input as binary, then close the file.
Read the entire contents of the IO stream in binary mode and close it.
# File buryspam.rb, line 136 def binread binmode data = read close data end
Determine if there is input available in the IO
stream. Uses both select
and getc
. Returns
true
if there is input waiting, false
otherwise.
Used to determine if $stdin
has input waiting.
# File buryspam.rb, line 127 def has_input? if IO.select([self], nil, nil, 1).nil? || (byte = getbyte).nil? return false end ungetbyte(byte) true end