class TabKeeper::LoginShell
Public Class Methods
new(previous, job: nil, code_directory: nil, **_options)
click to toggle source
# File lib/tab_keeper/login_shell.rb, line 3 def initialize(previous, job: nil, code_directory: nil, **_options) @command = previous || job @code_directory = code_directory return if code_directory raise ArgumentError, "code `directory` must be configured for LoginShell" end
Public Instance Methods
to_s()
click to toggle source
# File lib/tab_keeper/login_shell.rb, line 10 def to_s "/bin/bash -l -c 'cd #{escaped_path} && #{escaped_command}'" end
Private Instance Methods
escaped_command()
click to toggle source
# File lib/tab_keeper/login_shell.rb, line 20 def escaped_command @command.chars.map { |char| char == "'" ? "'\\''" : char }.join end
escaped_path()
click to toggle source
# File lib/tab_keeper/login_shell.rb, line 16 def escaped_path @code_directory.chars.map { |char| char == "'" ? "'\\''" : char }.join end