class Utils::ConfigFile::SshTunnel

def copy_paste(enable = false, &block)

Returns:
  • (CopyPaste, nil) - the existing or newly created copy-paste

Other tags:
    Yield: - optional block to initialize the copy-paste instance

Parameters:
  • enable (TrueClass, FalseClass) -- flag to enable copy-paste functionality
def copy_paste(enable = false, &block)
  if @copy_paste
    @copy_paste
  else
    if block
      @copy_paste = CopyPaste.new(&block)
    elsif enable
      @copy_paste = CopyPaste.new {}
    end
  end
end

def initialize

Parameters:
  • terminal_multiplexer (Object) -- the terminal multiplexer to be assigned
def initialize
  super
  self.terminal_multiplexer = terminal_multiplexer
end

def multiplexer_attach(session)

Returns:
  • (String) - a formatted command string ready for execution

Parameters:
  • session (String) -- the name or identifier of the session to attach to
def multiplexer_attach(session)
  case @multiplexer
  when 'screen'
    'screen -DUR "%s"' % session
  when 'tmux'
    'tmux -u attach -d -t "%s"' % session
  end
end

def multiplexer_list

Returns:
  • (String, nil) - the command string to list sessions for the configured
def multiplexer_list
  case @multiplexer
  when 'screen'
    'screen -ls'
  when 'tmux'
    'tmux ls'
  end
end

def multiplexer_new(session)

Returns:
  • (String, nil) - a command string for creating a new session in screen

Parameters:
  • session (String) -- the name of the session to be created
def multiplexer_new(session)
  case @multiplexer
  when 'screen'
    'false'
  when 'tmux'
    'tmux -u new -s "%s"' % session
  end
end

def terminal_multiplexer=(terminal_multiplexer)

Parameters:
  • terminal_multiplexer (Symbol) -- the terminal multiplexer type to
def terminal_multiplexer=(terminal_multiplexer)
  @multiplexer = terminal_multiplexer.to_s
  @multiplexer =~ /\A(screen|tmux)\z/ or
    fail "invalid terminal_multiplexer #{terminal_multiplexer.inspect} was configured"
end