lib/tracksperanto/io_wrapper.rb
# A wrapper for IO which works on the backing buffer
# and proxies all IO methods
class Tracksperanto::IOWrapper
extend Forwardable
attr_reader :backing_buffer
IO_METHODS = (IO.instance_methods - Object.instance_methods - Enumerable.instance_methods).map{|e| e.to_sym }
def_delegators :backing_buffer, *IO_METHODS
end