Class: Madvertise::Logging::ImprovedIO
- Inherits:
-
IO
- Object
- IO
- Madvertise::Logging::ImprovedIO
- Defined in:
- lib/madvertise/logging/improved_io.rb
Overview
ImprovedIO is a subclass of IO with a bunch of methods reimplemented so that subclasses don’t have to reimplement every IO method. Unfortunately this is necessary because Ruby does not provide a sane interface to IO like Enumerable for Arrays and Hashes.
Direct Known Subclasses
Instance Method Summary collapse
- #external_encoding ⇒ Object
- #flush ⇒ Object
- #internal_encoding ⇒ Object
- #print(*arguments) ⇒ Object
- #printf(format_string, *arguments) ⇒ Object
- #putc ⇒ Object
- #puts(*arguments) ⇒ Object
- #readbyte ⇒ Object
- #readchar ⇒ Object
- #readline ⇒ Object
- #set_encoding ⇒ Object
- #tty? ⇒ Boolean
Instance Method Details
#external_encoding ⇒ Object
16 17 18 |
# File 'lib/madvertise/logging/improved_io.rb', line 16 def external_encoding nil end |
#flush ⇒ Object
12 13 14 |
# File 'lib/madvertise/logging/improved_io.rb', line 12 def flush self end |
#internal_encoding ⇒ Object
20 21 22 |
# File 'lib/madvertise/logging/improved_io.rb', line 20 def internal_encoding nil end |
#print(*arguments) ⇒ Object
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/madvertise/logging/improved_io.rb', line 55 def print(*arguments) args = if arguments.empty? [$_] else arguments end write(args.join($,)) return nil end |
#printf(format_string, *arguments) ⇒ Object
50 51 52 53 |
# File 'lib/madvertise/logging/improved_io.rb', line 50 def printf(format_string, *arguments) write(sprintf(format_string, *arguments)) return nil end |
#putc ⇒ Object
66 67 |
# File 'lib/madvertise/logging/improved_io.rb', line 66 def putc end |
#puts(*arguments) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/madvertise/logging/improved_io.rb', line 69 def puts(*arguments) return nil if arguments.empty? arguments.each do |arg| if arg.is_a?(Array) puts(*arg) elsif arg.is_a?(String) write(arg) else write(arg.to_s) end end return nil end |
#readbyte ⇒ Object
28 29 30 31 32 |
# File 'lib/madvertise/logging/improved_io.rb', line 28 def readbyte getbyte.tap do |byte| raise EOFError unless byte end end |
#readchar ⇒ Object
34 35 36 37 38 |
# File 'lib/madvertise/logging/improved_io.rb', line 34 def readchar getc.tap do |char| raise EOFError unless char end end |
#readline ⇒ Object
40 41 42 43 44 |
# File 'lib/madvertise/logging/improved_io.rb', line 40 def readline gets.tap do |string| raise EOFError unless string end end |
#set_encoding ⇒ Object
24 25 26 |
# File 'lib/madvertise/logging/improved_io.rb', line 24 def set_encoding self end |
#tty? ⇒ Boolean
46 47 48 |
# File 'lib/madvertise/logging/improved_io.rb', line 46 def tty? false end |