lib/csvlint/wrapped_io.rb in csvlint-0.0.1 vs lib/csvlint/wrapped_io.rb in csvlint-0.1.0

- old
+ new

@@ -1,39 +1,21 @@ module Csvlint - class WrappedIO - def initialize(io) - @io = io - @line = "" + class WrappedIO < SimpleDelegator + attr_reader :line + + def reset_line + @line = '' end - + def gets(*args) - if args.count == 1 && args[0].is_a?(String) - delim = args[0] - @line = "" if @new_line - s = @io.gets(delim) - if s != nil - @line << s + if args.size == 1 && args[0].is_a?(String) + s = __getobj__.gets(args[0]) + if s + @line << s end - return s + s else - @io.gets(*args) + __getobj__.gets(*args) end end - - def eof? - @io.eof? - end - - def finished - @new_line = true - end - - def line - @line - end - - def method_missing(method, *args) - @io.send(method, *args) - end - end -end \ No newline at end of file +end