Class: Utils::ConfigFile::SshTunnel
- Inherits:
-
BlockConfig
- Object
- BlockConfig
- Utils::ConfigFile::SshTunnel
- Defined in:
- lib/utils/config_file.rb
Defined Under Namespace
Classes: CopyPaste
Instance Method Summary collapse
-
#copy_paste(enable = false) {|block| ... } ⇒ CopyPaste?
The copy_paste method manages the copy-paste functionality by returning an existing instance or creating a new one.
-
#initialize ⇒ SshTunnel
constructor
The initialize method sets up the instance by calling the superclass constructor and assigning the terminal multiplexer configuration.
-
#multiplexer_attach(session) ⇒ String
The multiplexer_attach method generates a command string for attaching to a session using either screen or tmux multiplexer.
-
#multiplexer_list ⇒ String?
The multiplexer_list method returns the appropriate command string for listing sessions based on the current multiplexer type.
-
#multiplexer_new(session) ⇒ String?
The multiplexer_new method generates a command string for creating a new session in the specified terminal multiplexer.
-
#terminal_multiplexer=(terminal_multiplexer) ⇒ Object
The terminal_multiplexer= method sets the terminal multiplexer type for the editor.
Methods inherited from BlockConfig
Constructor Details
#initialize ⇒ SshTunnel
The initialize method sets up the instance by calling the superclass constructor and assigning the terminal multiplexer configuration.
477 478 479 480 |
# File 'lib/utils/config_file.rb', line 477 def initialize super self.terminal_multiplexer = terminal_multiplexer end |
Instance Method Details
#copy_paste(enable = false) {|block| ... } ⇒ CopyPaste?
The copy_paste method manages the copy-paste functionality by returning an existing instance or creating a new one.
This method checks if a copy-paste instance already exists and returns it if available. If no instance exists, it creates a new one based on whether a block is provided or the enable flag is set to true.
instance, or nil if not enabled
603 604 605 606 607 608 609 610 611 612 613 |
# File 'lib/utils/config_file.rb', line 603 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 |
#multiplexer_attach(session) ⇒ String
The multiplexer_attach method generates a command string for attaching to a session using either screen or tmux multiplexer.
534 535 536 537 538 539 540 541 |
# File 'lib/utils/config_file.rb', line 534 def multiplexer_attach(session) case @multiplexer when 'screen' 'screen -DUR "%s"' % session when 'tmux' 'tmux -u attach -d -t "%s"' % session end end |
#multiplexer_list ⇒ String?
The multiplexer_list method returns the appropriate command string for listing sessions based on the current multiplexer type.
503 504 505 506 507 508 509 510 |
# File 'lib/utils/config_file.rb', line 503 def multiplexer_list case @multiplexer when 'screen' 'screen -ls' when 'tmux' 'tmux ls' end end |
#multiplexer_new(session) ⇒ String?
The multiplexer_new method generates a command string for creating a new session in the specified terminal multiplexer.
519 520 521 522 523 524 525 526 |
# File 'lib/utils/config_file.rb', line 519 def multiplexer_new(session) case @multiplexer when 'screen' 'false' when 'tmux' 'tmux -u new -s "%s"' % session end end |
#terminal_multiplexer=(terminal_multiplexer) ⇒ Object
The terminal_multiplexer= method sets the terminal multiplexer type for the editor.
This method assigns the specified terminal multiplexer to the editor configuration, validating that it is either ‘screen’ or ‘tmux’. It converts the input to a string and ensures it matches one of the supported multiplexer types.
be configured
492 493 494 495 496 |
# File 'lib/utils/config_file.rb', line 492 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 |