class Basic101::Input

Public Class Methods

new(output, file = $stdout) click to toggle source
# File lib/basic101/input.rb, line 7
def initialize(output, file = $stdout)
  @file = file
  @output = output
  @transcript = NullTranscript.new
end

Public Instance Methods

read_line() click to toggle source
# File lib/basic101/input.rb, line 17
def read_line
  unless line = @file.gets
    @transcript.save_output "\n"
    echo "\n"
    raise NoMoreInputError, 'No more input'
  end
  @transcript.save_input line
  @transcript.save_output line
  echo line
  line.chomp
end
transcript=(transcript) click to toggle source
# File lib/basic101/input.rb, line 13
def transcript=(transcript)
  @transcript = transcript
end

Private Instance Methods

echo(s) click to toggle source
# File lib/basic101/input.rb, line 31
def echo(s)
  return unless echo?
  @output.echo s
end
echo?() click to toggle source
# File lib/basic101/input.rb, line 40
def echo?
  !(isatty && @output.isatty)
end
isatty() click to toggle source
# File lib/basic101/input.rb, line 36
def isatty
  @file.isatty
end