i2cssh 1.0.0 → 1.1.0

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.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/bin/i2cssh +12 -6
  3. data/i2cssh.gemspec +5 -4
  4. metadata +23 -40
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
data/bin/i2cssh CHANGED
@@ -10,10 +10,12 @@ optparse = OptionParser.new do |opts|
10
10
  options[:debug] = false
11
11
  options[:fullscreen] = false
12
12
  opts.on('-d', '--debug', "Start RIPL after creating terminals") { options[:debug] = true }
13
- opts.on('-f', '--file FILE', "Cluster file") { |f| options[:file] = f }
13
+ opts.on('-A', '--forward-agent', "Enable SSH agent forwarding") { options[:forward] = true }
14
+ opts.on('-f', '--file FILE', "Cluster file (one hostname per line)") { |f| options[:file] = f }
14
15
  opts.on('-F', '--fullscreen', "Fullscreen") { options[:fullscreen] = true }
15
- opts.on('-u', '--username USERNAME', "SSH username") { |u| options[:username] = u }
16
+ opts.on('-l', '--login LOGIN', "SSH login name") { |u| options[:login] = u }
16
17
  opts.on('-c', '--cluster CLUSTERNAME', "Name of the cluster specified in ~/.i2csshrc") { |c| options[:cluster] = c }
18
+ opts.on('-m', '--machines a,b,c', Array, "Comma-separated list of hosts") { |h| options[:hosts] = h }
17
19
  opts.on('-C', '--columns COLUMNS', "Amount of columns (rows will be calculated)") { |c| options[:columns] = c }
18
20
  opts.on('-R', '--rows ROWS', "Amount of rows (columns will be calculated)") { |r| options[:rows] = r }
19
21
  # opts.on('-s', '--session SESSIONNAME', "Name of an iTerm2 session") { |s| options[:session_name] = s }
@@ -21,13 +23,13 @@ end
21
23
 
22
24
  optparse.parse!
23
25
 
24
- unless options[:file] || options[:cluster] then
26
+ unless options[:file] || options[:cluster] || options[:hosts] then
25
27
  puts optparse.help
26
28
  exit
27
29
  end
28
30
 
29
- if options[:file] && options[:cluster] then
30
- puts "ERROR: -f and -c can't be used at the same time"
31
+ if [ options[:file], options[:cluster], options[:hosts] ].compact.length > 1 then
32
+ puts "ERROR: neither -f, -c or -h can be combined"
31
33
  puts optparse.help
32
34
  exit
33
35
  end
@@ -38,7 +40,9 @@ if options[:columns] && options[:rows] then
38
40
  exit
39
41
  end
40
42
 
41
- ssh_prefix = "ssh " + (options[:username] ? "#{options[:username]}@" : "")
43
+ ssh_prefix = "ssh " +
44
+ (options[:forward] ? "-A " : "") +
45
+ (options[:login] ? "-l #{options[:login]} " : "")
42
46
 
43
47
  rows = options[:rows].to_i if options[:rows]
44
48
  columns = options[:columns].to_i if options[:columns]
@@ -50,6 +54,8 @@ elsif options[:cluster] then
50
54
  require 'yaml'
51
55
  config_hash = YAML.load(File.read(File.expand_path("~/.i2csshrc")))
52
56
  servers = config_hash["clusters"][options[:cluster]]
57
+ elsif options[:hosts] then
58
+ servers = options[:hosts]
53
59
  end
54
60
 
55
61
  count = servers.size
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{i2cssh}
8
- s.version = "1.0.0"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Wouter de Bie"]
12
- s.date = %q{2011-07-11}
12
+ s.date = %q{2011-07-25}
13
13
  s.default_executable = %q{i2cssh}
14
14
  s.description = %q{csshX like cluster ssh using iTerm2 panes}
15
15
  s.email = %q{wouter@evenflow.se}
@@ -35,13 +35,14 @@ Gem::Specification.new do |s|
35
35
  s.homepage = %q{http://github.com/wouterdebie/i2cssh}
36
36
  s.licenses = ["MIT"]
37
37
  s.require_paths = ["lib"]
38
- s.rubygems_version = %q{1.6.2}
38
+ s.rubygems_version = %q{1.3.6}
39
39
  s.summary = %q{csshX like cluster ssh using iTerm2 panes}
40
40
 
41
41
  if s.respond_to? :specification_version then
42
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
42
43
  s.specification_version = 3
43
44
 
44
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
45
46
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
46
47
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
47
48
  s.add_development_dependency(%q<rcov>, [">= 0"])
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i2cssh
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease:
4
+ prerelease: false
6
5
  segments:
7
6
  - 1
7
+ - 1
8
8
  - 0
9
- - 0
10
- version: 1.0.0
9
+ version: 1.1.0
11
10
  platform: ruby
12
11
  authors:
13
12
  - Wouter de Bie
@@ -15,101 +14,89 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-07-11 00:00:00 +02:00
17
+ date: 2011-07-25 00:00:00 +02:00
19
18
  default_executable: i2cssh
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  prerelease: false
23
22
  type: :development
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
23
+ name: bundler
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
25
  requirements:
27
26
  - - ~>
28
27
  - !ruby/object:Gem::Version
29
- hash: 23
30
28
  segments:
31
29
  - 1
32
30
  - 0
33
31
  - 0
34
32
  version: 1.0.0
35
- name: bundler
36
- version_requirements: *id001
33
+ requirement: *id001
37
34
  - !ruby/object:Gem::Dependency
38
35
  prerelease: false
39
36
  type: :development
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
37
+ name: jeweler
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
42
39
  requirements:
43
40
  - - ~>
44
41
  - !ruby/object:Gem::Version
45
- hash: 11
46
42
  segments:
47
43
  - 1
48
44
  - 6
49
45
  - 2
50
46
  version: 1.6.2
51
- name: jeweler
52
- version_requirements: *id002
47
+ requirement: *id002
53
48
  - !ruby/object:Gem::Dependency
54
49
  prerelease: false
55
50
  type: :development
56
- requirement: &id003 !ruby/object:Gem::Requirement
57
- none: false
51
+ name: rcov
52
+ version_requirements: &id003 !ruby/object:Gem::Requirement
58
53
  requirements:
59
54
  - - ">="
60
55
  - !ruby/object:Gem::Version
61
- hash: 3
62
56
  segments:
63
57
  - 0
64
58
  version: "0"
65
- name: rcov
66
- version_requirements: *id003
59
+ requirement: *id003
67
60
  - !ruby/object:Gem::Dependency
68
61
  prerelease: false
69
62
  type: :development
70
- requirement: &id004 !ruby/object:Gem::Requirement
71
- none: false
63
+ name: shoulda
64
+ version_requirements: &id004 !ruby/object:Gem::Requirement
72
65
  requirements:
73
66
  - - ">="
74
67
  - !ruby/object:Gem::Version
75
- hash: 3
76
68
  segments:
77
69
  - 0
78
70
  version: "0"
79
- name: shoulda
80
- version_requirements: *id004
71
+ requirement: *id004
81
72
  - !ruby/object:Gem::Dependency
82
73
  prerelease: false
83
74
  type: :runtime
84
- requirement: &id005 !ruby/object:Gem::Requirement
85
- none: false
75
+ name: rb-appscript
76
+ version_requirements: &id005 !ruby/object:Gem::Requirement
86
77
  requirements:
87
78
  - - ~>
88
79
  - !ruby/object:Gem::Version
89
- hash: 5
90
80
  segments:
91
81
  - 0
92
82
  - 6
93
83
  - 1
94
84
  version: 0.6.1
95
- name: rb-appscript
96
- version_requirements: *id005
85
+ requirement: *id005
97
86
  - !ruby/object:Gem::Dependency
98
87
  prerelease: false
99
88
  type: :runtime
100
- requirement: &id006 !ruby/object:Gem::Requirement
101
- none: false
89
+ name: ripl
90
+ version_requirements: &id006 !ruby/object:Gem::Requirement
102
91
  requirements:
103
92
  - - ~>
104
93
  - !ruby/object:Gem::Version
105
- hash: 13
106
94
  segments:
107
95
  - 0
108
96
  - 4
109
97
  - 1
110
98
  version: 0.4.1
111
- name: ripl
112
- version_requirements: *id006
99
+ requirement: *id006
113
100
  description: csshX like cluster ssh using iTerm2 panes
114
101
  email: wouter@evenflow.se
115
102
  executables:
@@ -142,27 +129,23 @@ rdoc_options: []
142
129
  require_paths:
143
130
  - lib
144
131
  required_ruby_version: !ruby/object:Gem::Requirement
145
- none: false
146
132
  requirements:
147
133
  - - ">="
148
134
  - !ruby/object:Gem::Version
149
- hash: 3
150
135
  segments:
151
136
  - 0
152
137
  version: "0"
153
138
  required_rubygems_version: !ruby/object:Gem::Requirement
154
- none: false
155
139
  requirements:
156
140
  - - ">="
157
141
  - !ruby/object:Gem::Version
158
- hash: 3
159
142
  segments:
160
143
  - 0
161
144
  version: "0"
162
145
  requirements: []
163
146
 
164
147
  rubyforge_project:
165
- rubygems_version: 1.6.2
148
+ rubygems_version: 1.3.6
166
149
  signing_key:
167
150
  specification_version: 3
168
151
  summary: csshX like cluster ssh using iTerm2 panes