summaryrefslogtreecommitdiff
path: root/lib/highline/terminal.rb
diff options
context:
space:
mode:
authorAbinoam Praxedes Marques Jr <abinoam@gmail.com>2015-07-19 22:25:17 -0300
committerAbinoam Praxedes Marques Jr <abinoam@gmail.com>2015-07-19 22:25:17 -0300
commit3ad917e262a84f8f0f875c6a3163d126dbdd5894 (patch)
tree34ac6b4494b78cc67c3fd81fea4bd872725fdbd1 /lib/highline/terminal.rb
parent8ca40cd1db4e1b6600e4369b73cbd94281372f99 (diff)
downloadhighline-3ad917e262a84f8f0f875c6a3163d126dbdd5894.tar.gz
Make HighLine::Terminal instances respect HighLine defined input and output
Also save input and output as HighLine::Terminal instance variables reducing argument passing needs.
Diffstat (limited to 'lib/highline/terminal.rb')
-rwxr-xr-xlib/highline/terminal.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/highline/terminal.rb b/lib/highline/terminal.rb
index d0ea906..e7a2516 100755
--- a/lib/highline/terminal.rb
+++ b/lib/highline/terminal.rb
@@ -13,27 +13,34 @@ require "highline/compatibility"
class HighLine
class Terminal
- def self.get_terminal
+ def self.get_terminal(input, output)
terminal = nil
# First of all, probe for io/console
begin
require "io/console"
require "highline/terminal/io_console"
- terminal = HighLine::Terminal::IOConsole.new
+ terminal = HighLine::Terminal::IOConsole.new(input, output)
rescue LoadError
end
# Fall back to UnixStty
unless terminal
require 'highline/terminal/unix_stty'
- terminal = HighLine::Terminal::UnixStty.new
+ terminal = HighLine::Terminal::UnixStty.new(input, output)
end
terminal.initialize_system_extensions
terminal
end
+ attr_reader :input, :output
+
+ def initialize(input, output)
+ @input = input
+ @output = output
+ end
+
def initialize_system_extensions
end