i2cssh 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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