Module: CommandKit::Stdio
- Defined in:
- lib/command_kit/stdio.rb
Overview
Provides access to stdin, stdout, and stderr streams.
Examples
class MyCmd
include CommandKit::Stdio
def main
end
end
Testing
Can be initialized with custom stdin, stdout, and stderr streams for testing purposes.
stdin = StringIO.new
stdout = StringIO.new
stderr = StringIO.new
MyCmd.new(stdin: stdin, stdout: stdout, stderr: stderr)
Instance Method Summary collapse
-
#abort(message = nil) ⇒ Object
Overrides
Kernel.abort
to print to #stderr. -
#gets(*arguments) ⇒ Object
Calls
stdin.gets
. - #initialize(stdin: nil, stdout: nil, stderr: nil, **kwargs) ⇒ Object
-
#print(*arguments) ⇒ Object
Calls
stdout.print
. -
#printf(*arguments) ⇒ Object
Calls
stdout.printf
. -
#putc(*arguments) ⇒ Object
Calls
stdout.putc
. -
#puts(*arguments) ⇒ Object
Calls
stdout.puts
. -
#readline(*arguments) ⇒ Object
Calls
stdin.readline
. -
#readlines(*arguments) ⇒ Object
Calls
stdin.readlines
. -
#stderr ⇒ $stderr, IO
Returns the stderr error output stream.
-
#stdin ⇒ $stdin, IO
Returns the stdin input stream.
-
#stdout ⇒ $stdout, IO
Returns the stdout output stream.
Instance Method Details
#abort(message = nil) ⇒ Object
Overrides Kernel.abort
to print to #stderr.
157 158 159 160 |
# File 'lib/command_kit/stdio.rb', line 157 def abort(=nil) stderr.puts() if exit(1) end |
#gets(*arguments) ⇒ Object
Calls stdin.gets
.
88 89 90 |
# File 'lib/command_kit/stdio.rb', line 88 def gets(*arguments) stdin.gets(*arguments) end |
#initialize(stdin: nil, stdout: nil, stderr: nil, **kwargs) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/command_kit/stdio.rb', line 39 def initialize(stdin: nil, stdout: nil, stderr: nil, **kwargs) @stdin = stdin @stdout = stdout @stderr = stderr super(**kwargs) end |
#print(*arguments) ⇒ Object
Calls stdout.print
.
136 137 138 |
# File 'lib/command_kit/stdio.rb', line 136 def print(*arguments) stdout.print(*arguments) end |
#printf(*arguments) ⇒ Object
Calls stdout.printf
.
145 146 147 |
# File 'lib/command_kit/stdio.rb', line 145 def printf(*arguments) stdout.printf(*arguments) end |
#putc(*arguments) ⇒ Object
Calls stdout.putc
.
118 119 120 |
# File 'lib/command_kit/stdio.rb', line 118 def putc(*arguments) stdout.putc(*arguments) end |
#puts(*arguments) ⇒ Object
Calls stdout.puts
.
127 128 129 |
# File 'lib/command_kit/stdio.rb', line 127 def puts(*arguments) stdout.puts(*arguments) end |
#readline(*arguments) ⇒ Object
Calls stdin.readline
.
97 98 99 |
# File 'lib/command_kit/stdio.rb', line 97 def readline(*arguments) stdin.readline(*arguments) end |
#readlines(*arguments) ⇒ Object
Calls stdin.readlines
.
106 107 108 |
# File 'lib/command_kit/stdio.rb', line 106 def readlines(*arguments) stdin.readlines(*arguments) end |
#stderr ⇒ $stderr, IO
Returns the stderr error output stream.
79 80 81 |
# File 'lib/command_kit/stdio.rb', line 79 def stderr @stderr || $stderr end |
#stdin ⇒ $stdin, IO
Returns the stdin input stream.
55 56 57 |
# File 'lib/command_kit/stdio.rb', line 55 def stdin @stdin || $stdin end |
#stdout ⇒ $stdout, IO
Returns the stdout output stream.
67 68 69 |
# File 'lib/command_kit/stdio.rb', line 67 def stdout @stdout || $stdout end |