Class: Utils::Config::ConfigFile::SshTunnel

Inherits:
BlockConfig show all
Defined in:
lib/utils/config/config_file.rb

Defined Under Namespace

Classes: CopyPaste

Instance Method Summary collapse

Methods inherited from BlockConfig

config, inherited, #to_ruby

Constructor Details

#initializeSshTunnel

Returns a new instance of SshTunnel.



161
162
163
164
# File 'lib/utils/config/config_file.rb', line 161

def initialize
  super
  self.terminal_multiplexer = terminal_multiplexer
end

Instance Method Details

#copy_paste(enable = false, &block) ⇒ Object



213
214
215
216
217
218
219
220
221
222
223
# File 'lib/utils/config/config_file.rb', line 213

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) ⇒ Object



190
191
192
193
194
195
196
197
# File 'lib/utils/config/config_file.rb', line 190

def multiplexer_attach(session)
  case @multiplexer
  when 'screen'
    'screen -DUR "%s"' % session
  when 'tmux'
    'tmux -u attach -d -t "%s"' % session
  end
end

#multiplexer_listObject



172
173
174
175
176
177
178
179
# File 'lib/utils/config/config_file.rb', line 172

def multiplexer_list
  case @multiplexer
  when 'screen'
    'screen -ls'
  when 'tmux'
    'tmux ls'
  end
end

#multiplexer_new(session) ⇒ Object



181
182
183
184
185
186
187
188
# File 'lib/utils/config/config_file.rb', line 181

def multiplexer_new(session)
  case @multiplexer
  when 'screen'
    'false'
  when 'tmux'
    'tmux -u new -s "%s"' % session
  end
end

#terminal_multiplexer=(terminal_multiplexer) ⇒ Object



166
167
168
169
170
# File 'lib/utils/config/config_file.rb', line 166

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