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.



159
160
161
162
# File 'lib/utils/config/config_file.rb', line 159

def initialize
  super
  self.terminal_multiplexer = terminal_multiplexer
end

Instance Method Details

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



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

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



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

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



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

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

#multiplexer_new(session) ⇒ Object



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

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

#terminal_multiplexer=(terminal_multiplexer) ⇒ Object



164
165
166
167
168
# File 'lib/utils/config/config_file.rb', line 164

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