class Expectr module Interface # Public: Return a Thread which does nothing, representing an interface # with no functional interact environment available. # # Returns a Thread. def interact_thread Thread.new { } end # Public: Return an empty Hash representing a case where no action needed # to be taken in order to prepare the environment for interact mode. # # Returns an empty Hash. def prepare_interact_interface {} end private # Internal: Restore environment (TTY parameters, signal handlers) after # leaving interact mode. # # Returns nothing. def restore_environment(env) env[:sig].each do |signal, handler| trap signal, handler end unless env[:tty].nil? `stty #{env[:tty]}` end @interact = false end end end