utils 0.0.99 → 0.0.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Gemfile +1 -1
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/bin/chroot-libs +5 -1
- data/bin/ssh-tunnel +59 -40
- data/lib/utils.rb +1 -0
- data/lib/utils/config/config_file.rb +2 -0
- data/lib/utils/ssh_tunnel_specification.rb +47 -0
- data/lib/utils/version.rb +2 -2
- data/utils.gemspec +11 -11
- metadata +26 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 480fb60da986380af2ebf724286e23f377893db2
|
4
|
+
data.tar.gz: b8094ae10a9b048bf1893e23c79f9556547de534
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41259059f1493fd2994f111dde35371edf43e3a2584766d04f150eaab1dce7fdb4677059b14c156cc3f8c410945dcc294ee57e0aa6afea3750485b44671332f2
|
7
|
+
data.tar.gz: ba71dc743cae3e3ba21fb1a3c32c384855a44006111edeb4c3a883e4391f6af314042822853ef25244e25d07a9c905a29f9b97c0692b979acb70eb502e2ae50b
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -12,7 +12,7 @@ GemHadar do
|
|
12
12
|
bindir 'bin'
|
13
13
|
executables Dir['bin/*'].map(&File.method(:basename))
|
14
14
|
test_dir 'tests'
|
15
|
-
ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', '.AppleDouble', 'tags'
|
15
|
+
ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', '.AppleDouble', 'tags', '.bundle'
|
16
16
|
readme 'README.rdoc'
|
17
17
|
|
18
18
|
dependency 'tins', '~>0.8', '>=0.8.3'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.100
|
data/bin/chroot-libs
CHANGED
data/bin/ssh-tunnel
CHANGED
@@ -2,9 +2,13 @@
|
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
include FileUtils::Verbose
|
5
|
-
require 'tins/
|
5
|
+
require 'tins/xt'
|
6
6
|
include Tins::GO
|
7
7
|
require 'utils'
|
8
|
+
require 'pstree'
|
9
|
+
require 'term/ansicolor'
|
10
|
+
include Term::ANSIColor
|
11
|
+
Term::ANSIColor.coloring = STDOUT.tty?
|
8
12
|
|
9
13
|
SSH_CONFIG = <<SSH_CONFIG_END
|
10
14
|
# ~/.ssh/config
|
@@ -20,31 +24,52 @@ def usage
|
|
20
24
|
Usage: #{File.basename($0)} [OPTS] [user@]remote[:port]"
|
21
25
|
|
22
26
|
OPTS is one of
|
23
|
-
-N
|
24
|
-
-n NAME
|
25
|
-
-
|
26
|
-
-
|
27
|
-
-
|
28
|
-
-
|
29
|
-
-
|
27
|
+
-N list all session names on the specified remote
|
28
|
+
-n NAME name of the multiplexer session (default: $USER)
|
29
|
+
-T list current tunnels
|
30
|
+
-e VARIABLE=VALUE [...] set variables to values
|
31
|
+
-t [LHOST:][LPORT:][HOST:PORT|PORT] host:port to tunnel if different from LOCALPORT
|
32
|
+
-m screen|tmux use sshscreen or tmux as a terminal multiplexer
|
33
|
+
-C (ssh|rc)-default|rc output ssh or rc config file
|
34
|
+
-d enable debugging
|
35
|
+
-h to display this help
|
30
36
|
|
31
37
|
EOT
|
32
38
|
exit 1
|
33
39
|
end
|
34
40
|
|
41
|
+
def cmd(string)
|
42
|
+
$DEBUG and warn "Executing: #{string.inspect}"
|
43
|
+
exec string
|
44
|
+
end
|
45
|
+
|
35
46
|
config = Utils::Config::ConfigFile.new
|
36
47
|
|
37
48
|
arguments = ARGV
|
38
|
-
opts = go '
|
49
|
+
opts = go 't:n:C:m:e:hNTd', arguments
|
50
|
+
|
51
|
+
$DEBUG = opts['d']
|
52
|
+
|
53
|
+
if opts['T']
|
54
|
+
tunnels = PSTree.new.select { |pt| pt.user == ENV['USER'] && pt.cmd =~ /ssh.*-L/ }
|
55
|
+
tunnels.map! do |pt|
|
56
|
+
cmd = pt.cmd
|
57
|
+
cmd.gsub!(/(?<=\s)[^\/\s]+@\S+/) { |t| red(t) }
|
58
|
+
cmd.gsub!(/-L\s+\S+/) { |t| green(t) }
|
59
|
+
"#{yellow(pt.pid.to_s)} #{cmd}"
|
60
|
+
end
|
61
|
+
STDOUT.puts tunnels
|
62
|
+
exit 0
|
63
|
+
end
|
39
64
|
|
40
65
|
case opts['C']
|
41
66
|
when 'ssh-default'
|
42
|
-
puts SSH_CONFIG; exit
|
67
|
+
STDOUT.puts SSH_CONFIG; exit
|
43
68
|
when 'rc-default'
|
44
|
-
puts config.to_ruby; exit
|
69
|
+
STDOUT.puts config.to_ruby; exit
|
45
70
|
when 'rc'
|
46
71
|
config.configure_from_paths
|
47
|
-
puts config.to_ruby; exit
|
72
|
+
STDOUT.puts config.to_ruby; exit
|
48
73
|
end
|
49
74
|
|
50
75
|
config.configure_from_paths
|
@@ -58,26 +83,13 @@ end
|
|
58
83
|
user_remote = arguments.shift
|
59
84
|
user, remote, rport =
|
60
85
|
case user_remote
|
61
|
-
when /\A(?:([^@:]+)@)?([^@:]+)(?::(\d+))?\
|
86
|
+
when /\A(?:([^@:]+)@)?([^@:]+)(?::(\d+))?\z/
|
62
87
|
user = $1 || ENV['USER']
|
63
88
|
user.to_s.empty? and fail "user required to login"
|
64
89
|
[ user, $2, $3 || '22' ]
|
65
90
|
else
|
66
91
|
usage
|
67
92
|
end
|
68
|
-
lport = opts['l']
|
69
|
-
tunnel, tport = nil, nil
|
70
|
-
if tunnel_port = opts['t']
|
71
|
-
case tunnel_port
|
72
|
-
when /\A([^:]+)(?::(\d+))?\Z/
|
73
|
-
tunnel, tport = $1, $2 || '22'
|
74
|
-
lport ||= tport
|
75
|
-
else
|
76
|
-
usage
|
77
|
-
end
|
78
|
-
else
|
79
|
-
tunnel, tport = 'localhost', lport
|
80
|
-
end
|
81
93
|
|
82
94
|
ssh_dir = File.expand_path('~/.ssh')
|
83
95
|
mkdir_p ssh_dir
|
@@ -88,23 +100,30 @@ else
|
|
88
100
|
opts['n'] ||= 'session'
|
89
101
|
end
|
90
102
|
if opts['N']
|
91
|
-
|
103
|
+
cmd "ssh -p #{rport} -S #{sock_file} #{user}@#{remote} #{config.ssh_tunnel.multiplexer_list}"
|
92
104
|
else
|
93
|
-
env = []
|
94
105
|
File.exist? sock_file and rm_f sock_file
|
95
|
-
|
106
|
+
env, tunnels = [], []
|
107
|
+
config.ssh_tunnel.copy_paste.full? do |t|
|
96
108
|
env << "COPY_REMOTE_HOST_PORT='#{t.bind_address}:#{t.port}'"
|
97
|
-
"
|
109
|
+
tunnels << "-R #{t}"
|
98
110
|
end
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
"#{config.ssh_tunnel.multiplexer_attach(opts['n'])}'"
|
111
|
+
opts['t'].to_a.each do |tunnel_spec|
|
112
|
+
if arg = Utils::SshTunnelSpecification.new(tunnel_spec).valid?
|
113
|
+
tunnels << "-L #{arg}"
|
114
|
+
else
|
115
|
+
usage
|
116
|
+
end
|
117
|
+
end
|
118
|
+
config.ssh_tunnel.env.each do |var, val|
|
119
|
+
ENV[var.to_s] = val.to_s
|
109
120
|
end
|
121
|
+
opts['e'].to_a.each do |setting|
|
122
|
+
var, val = setting.split('=', 2)
|
123
|
+
ENV[var] = val
|
124
|
+
end
|
125
|
+
cmd "ssh -p #{rport} -Mt "\
|
126
|
+
"-S #{sock_file} #{user}@#{remote} #{tunnels * ' '} "\
|
127
|
+
"'env #{env * ' '} #{config.ssh_tunnel.multiplexer_new(opts['n'])} || "\
|
128
|
+
"#{config.ssh_tunnel.multiplexer_attach(opts['n'])}'"
|
110
129
|
end
|
data/lib/utils.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
module Utils
|
2
|
+
class SshTunnelSpecification
|
3
|
+
def initialize(spec_string)
|
4
|
+
interpret_spec(spec_string)
|
5
|
+
end
|
6
|
+
|
7
|
+
attr_reader :local_addr
|
8
|
+
|
9
|
+
attr_reader :local_port
|
10
|
+
|
11
|
+
attr_reader :remote_addr
|
12
|
+
|
13
|
+
attr_reader :remote_port
|
14
|
+
|
15
|
+
def to_a
|
16
|
+
[ local_addr, local_port, remote_addr, remote_port ]
|
17
|
+
end
|
18
|
+
|
19
|
+
def valid?
|
20
|
+
if to_a.all?
|
21
|
+
to_s
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def to_s
|
26
|
+
to_a * ':'
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def interpret_spec(spec_string)
|
32
|
+
@local_addr, @local_port, @remote_addr, @remote_port =
|
33
|
+
case spec_string
|
34
|
+
when /\A(\d+)\z/
|
35
|
+
[ 'localhost', $1.to_i, 'localhost', $1.to_i ]
|
36
|
+
when /\A(\[[^\]]+\]|[^:]+):(\d+)\z/
|
37
|
+
[ 'localhost', $2.to_i, $1, $2.to_i ]
|
38
|
+
when /\A(\d+):(\[[^\]]+\]|[^:]+):(\d+)\z/
|
39
|
+
[ 'localhost', $1.to_i, $2, $3.to_i ]
|
40
|
+
when /\A(\[[^\]]+\]|[^:]+):(\[[^\]]+\]|[^:]+):(\d+)\z/
|
41
|
+
[ $1, $3.to_i, $2, $3.to_i ]
|
42
|
+
when /\A(\[[^\]]+\]|[^:]+):(\d+):(\[[^\]]+\]|[^:]+):(\d+)\z/
|
43
|
+
[ $1, $2.to_i, $3, $4.to_i ]
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/utils/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Utils
|
2
2
|
# Utils version
|
3
|
-
VERSION = '0.0.
|
4
|
-
VERSION_ARRAY = VERSION.split(
|
3
|
+
VERSION = '0.0.100'
|
4
|
+
VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
|
5
5
|
VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
|
6
6
|
VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
|
7
7
|
VERSION_BUILD = VERSION_ARRAY[2] # :nodoc:
|
data/utils.gemspec
CHANGED
@@ -1,36 +1,36 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: utils 0.0.
|
2
|
+
# stub: utils 0.0.100 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "utils"
|
6
|
-
s.version = "0.0.
|
6
|
+
s.version = "0.0.100"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
|
+
s.require_paths = ["lib"]
|
9
10
|
s.authors = ["Florian Frank"]
|
10
|
-
s.date = "
|
11
|
+
s.date = "2014-01-30"
|
11
12
|
s.description = "This ruby gem provides some useful command line utilities"
|
12
13
|
s.email = "flori@ping.de"
|
13
|
-
s.executables = ["
|
14
|
-
s.extra_rdoc_files = ["README.rdoc", "lib/utils.rb", "lib/utils/config.rb", "lib/utils/config/config_file.rb", "lib/utils/editor.rb", "lib/utils/file_xt.rb", "lib/utils/finder.rb", "lib/utils/grepper.rb", "lib/utils/irb.rb", "lib/utils/md5.rb", "lib/utils/patterns.rb", "lib/utils/probe_server.rb", "lib/utils/version.rb"]
|
15
|
-
s.files = [".gitignore", "COPYING", "Gemfile", "README.rdoc", "Rakefile", "TODO", "VERSION", "bin/brakeman2err", "bin/chroot-exec", "bin/chroot-libs", "bin/classify", "bin/create_tags", "bin/discover", "bin/edit", "bin/edit_wait", "bin/enum", "bin/errf", "bin/git-empty", "bin/irb_connect", "bin/myex", "bin/number_files", "bin/on_change", "bin/path", "bin/probe", "bin/remote_copy", "bin/same_files", "bin/search", "bin/sedit", "bin/ssh-tunnel", "bin/strip_spaces", "bin/unquarantine_apps", "bin/untest", "bin/utils-install-config", "bin/utils-utilsrc", "bin/vacuum_firefox_sqlite", "bin/xmp", "lib/utils.rb", "lib/utils/config.rb", "lib/utils/config/config_file.rb", "lib/utils/config/gdb/asm", "lib/utils/config/gdb/ruby", "lib/utils/config/gdbinit", "lib/utils/config/irbrc", "lib/utils/config/rdebugrc", "lib/utils/config/rvmrc", "lib/utils/config/screenrc", "lib/utils/config/utilsrc", "lib/utils/editor.rb", "lib/utils/file_xt.rb", "lib/utils/finder.rb", "lib/utils/grepper.rb", "lib/utils/irb.rb", "lib/utils/md5.rb", "lib/utils/patterns.rb", "lib/utils/probe_server.rb", "lib/utils/version.rb", "utils.gemspec"]
|
14
|
+
s.executables = ["create_tags", "untest", "chroot-libs", "edit_wait", "chroot-exec", "irb_connect", "number_files", "search", "strip_spaces", "path", "enum", "brakeman2err", "edit", "git-empty", "classify", "utils-install-config", "xmp", "discover", "ssh-tunnel", "myex", "probe", "remote_copy", "errf", "same_files", "utils-utilsrc", "unquarantine_apps", "vacuum_firefox_sqlite", "on_change", "sedit"]
|
15
|
+
s.extra_rdoc_files = ["README.rdoc", "lib/utils.rb", "lib/utils/config.rb", "lib/utils/config/config_file.rb", "lib/utils/editor.rb", "lib/utils/file_xt.rb", "lib/utils/finder.rb", "lib/utils/grepper.rb", "lib/utils/irb.rb", "lib/utils/md5.rb", "lib/utils/patterns.rb", "lib/utils/probe_server.rb", "lib/utils/ssh_tunnel_specification.rb", "lib/utils/version.rb"]
|
16
|
+
s.files = [".gitignore", "COPYING", "Gemfile", "README.rdoc", "Rakefile", "TODO", "VERSION", "bin/brakeman2err", "bin/chroot-exec", "bin/chroot-libs", "bin/classify", "bin/create_tags", "bin/discover", "bin/edit", "bin/edit_wait", "bin/enum", "bin/errf", "bin/git-empty", "bin/irb_connect", "bin/myex", "bin/number_files", "bin/on_change", "bin/path", "bin/probe", "bin/remote_copy", "bin/same_files", "bin/search", "bin/sedit", "bin/ssh-tunnel", "bin/strip_spaces", "bin/unquarantine_apps", "bin/untest", "bin/utils-install-config", "bin/utils-utilsrc", "bin/vacuum_firefox_sqlite", "bin/xmp", "lib/utils.rb", "lib/utils/config.rb", "lib/utils/config/config_file.rb", "lib/utils/config/gdb/asm", "lib/utils/config/gdb/ruby", "lib/utils/config/gdbinit", "lib/utils/config/irbrc", "lib/utils/config/rdebugrc", "lib/utils/config/rvmrc", "lib/utils/config/screenrc", "lib/utils/config/utilsrc", "lib/utils/editor.rb", "lib/utils/file_xt.rb", "lib/utils/finder.rb", "lib/utils/grepper.rb", "lib/utils/irb.rb", "lib/utils/md5.rb", "lib/utils/patterns.rb", "lib/utils/probe_server.rb", "lib/utils/ssh_tunnel_specification.rb", "lib/utils/version.rb", "utils.gemspec"]
|
16
17
|
s.homepage = "http://github.com/flori/utils"
|
17
18
|
s.rdoc_options = ["--title", "Utils - Some useful command line utilities", "--main", "README.rdoc"]
|
18
|
-
s.
|
19
|
-
s.rubygems_version = "2.1.5"
|
19
|
+
s.rubygems_version = "2.2.1"
|
20
20
|
s.summary = "Some useful command line utilities"
|
21
21
|
|
22
22
|
if s.respond_to? :specification_version then
|
23
23
|
s.specification_version = 4
|
24
24
|
|
25
25
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
26
|
-
s.add_development_dependency(%q<gem_hadar>, ["~> 0.
|
26
|
+
s.add_development_dependency(%q<gem_hadar>, ["~> 0.3.2"])
|
27
27
|
s.add_runtime_dependency(%q<tins>, [">= 0.8.3", "~> 0.8"])
|
28
28
|
s.add_runtime_dependency(%q<term-ansicolor>, [">= 1.2.2", "~> 1.2"])
|
29
29
|
s.add_runtime_dependency(%q<dslkit>, ["~> 0.2.10"])
|
30
30
|
s.add_runtime_dependency(%q<pstree>, [">= 0"])
|
31
31
|
s.add_runtime_dependency(%q<pry-editline>, [">= 0"])
|
32
32
|
else
|
33
|
-
s.add_dependency(%q<gem_hadar>, ["~> 0.
|
33
|
+
s.add_dependency(%q<gem_hadar>, ["~> 0.3.2"])
|
34
34
|
s.add_dependency(%q<tins>, [">= 0.8.3", "~> 0.8"])
|
35
35
|
s.add_dependency(%q<term-ansicolor>, [">= 1.2.2", "~> 1.2"])
|
36
36
|
s.add_dependency(%q<dslkit>, ["~> 0.2.10"])
|
@@ -38,7 +38,7 @@ Gem::Specification.new do |s|
|
|
38
38
|
s.add_dependency(%q<pry-editline>, [">= 0"])
|
39
39
|
end
|
40
40
|
else
|
41
|
-
s.add_dependency(%q<gem_hadar>, ["~> 0.
|
41
|
+
s.add_dependency(%q<gem_hadar>, ["~> 0.3.2"])
|
42
42
|
s.add_dependency(%q<tins>, [">= 0.8.3", "~> 0.8"])
|
43
43
|
s.add_dependency(%q<term-ansicolor>, [">= 1.2.2", "~> 1.2"])
|
44
44
|
s.add_dependency(%q<dslkit>, ["~> 0.2.10"])
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.100
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_hadar
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.3.2
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.3.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: tins
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,35 +109,35 @@ dependencies:
|
|
109
109
|
description: This ruby gem provides some useful command line utilities
|
110
110
|
email: flori@ping.de
|
111
111
|
executables:
|
112
|
-
- brakeman2err
|
113
|
-
- chroot-exec
|
114
|
-
- chroot-libs
|
115
|
-
- classify
|
116
112
|
- create_tags
|
117
|
-
-
|
118
|
-
-
|
113
|
+
- untest
|
114
|
+
- chroot-libs
|
119
115
|
- edit_wait
|
120
|
-
-
|
121
|
-
- errf
|
122
|
-
- git-empty
|
116
|
+
- chroot-exec
|
123
117
|
- irb_connect
|
124
|
-
- myex
|
125
118
|
- number_files
|
126
|
-
-
|
119
|
+
- search
|
120
|
+
- strip_spaces
|
127
121
|
- path
|
122
|
+
- enum
|
123
|
+
- brakeman2err
|
124
|
+
- edit
|
125
|
+
- git-empty
|
126
|
+
- classify
|
127
|
+
- utils-install-config
|
128
|
+
- xmp
|
129
|
+
- discover
|
130
|
+
- ssh-tunnel
|
131
|
+
- myex
|
128
132
|
- probe
|
129
133
|
- remote_copy
|
134
|
+
- errf
|
130
135
|
- same_files
|
131
|
-
- search
|
132
|
-
- sedit
|
133
|
-
- ssh-tunnel
|
134
|
-
- strip_spaces
|
135
|
-
- unquarantine_apps
|
136
|
-
- untest
|
137
|
-
- utils-install-config
|
138
136
|
- utils-utilsrc
|
137
|
+
- unquarantine_apps
|
139
138
|
- vacuum_firefox_sqlite
|
140
|
-
-
|
139
|
+
- on_change
|
140
|
+
- sedit
|
141
141
|
extensions: []
|
142
142
|
extra_rdoc_files:
|
143
143
|
- README.rdoc
|
@@ -152,6 +152,7 @@ extra_rdoc_files:
|
|
152
152
|
- lib/utils/md5.rb
|
153
153
|
- lib/utils/patterns.rb
|
154
154
|
- lib/utils/probe_server.rb
|
155
|
+
- lib/utils/ssh_tunnel_specification.rb
|
155
156
|
- lib/utils/version.rb
|
156
157
|
files:
|
157
158
|
- .gitignore
|
@@ -209,6 +210,7 @@ files:
|
|
209
210
|
- lib/utils/md5.rb
|
210
211
|
- lib/utils/patterns.rb
|
211
212
|
- lib/utils/probe_server.rb
|
213
|
+
- lib/utils/ssh_tunnel_specification.rb
|
212
214
|
- lib/utils/version.rb
|
213
215
|
- utils.gemspec
|
214
216
|
homepage: http://github.com/flori/utils
|
@@ -234,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
236
|
version: '0'
|
235
237
|
requirements: []
|
236
238
|
rubyforge_project:
|
237
|
-
rubygems_version: 2.1
|
239
|
+
rubygems_version: 2.2.1
|
238
240
|
signing_key:
|
239
241
|
specification_version: 4
|
240
242
|
summary: Some useful command line utilities
|