class CapistranoSentinel::InputStream

class used to hook into the input stream

Attributes

actor[RW]
real[RW]
stringio[RW]

Public Class Methods

hook(actor, stringio) click to toggle source
# File lib/capistrano_sentinel/classes/input_stream.rb, line 4
def self.hook(actor, stringio)
  $stdin = new($stdin, actor, stringio)
end
new(real_stdin, actor, stringio) click to toggle source
# File lib/capistrano_sentinel/classes/input_stream.rb, line 15
def initialize(real_stdin, actor, stringio)
  self.real = real_stdin
  self.actor = actor
  self.stringio = stringio
end
unhook() click to toggle source
# File lib/capistrano_sentinel/classes/input_stream.rb, line 8
def self.unhook
  $stdin.finish if $stdin.is_a? CapistranoSentinel::InputStream
  $stdin = STDIN
end

Public Instance Methods

finish() click to toggle source
# File lib/capistrano_sentinel/classes/input_stream.rb, line 27
def finish
end
gets(*_args) click to toggle source
# File lib/capistrano_sentinel/classes/input_stream.rb, line 21
def gets(*_args)
  @stringio.rewind
  data = @stringio.read
  @actor.user_prompt_needed?(data)
end
method_missing(name, *args, &block) click to toggle source
# File lib/capistrano_sentinel/classes/input_stream.rb, line 30
def method_missing(name, *args, &block)
  @real.send name, *args, &block
end