i2c2 1.0.0.beta1 → 1.0.0.beta4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -1
- data/Gemfile +3 -2
- data/Gemfile.lock +3 -1
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/bin/i2c2 +28 -14
- data/i2c2.gemspec +8 -8
- data/lib/i2c2.rb +3 -3
- metadata +17 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7038fe5ca1884acbd69308cc5d4b80bdca193a50e3dac700ed97f13349212fcb
|
4
|
+
data.tar.gz: 912bde1276d5de58bd61321133df61c36b6bc1e5a89fe0f69826adaf9e3e1f32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a73164c3d05331b5e3ce4500ae226388a5dc113b12b541619ff7d8637584b8b4ffc99223b3d6c161d63d706c984af769b3a4e5b6bbfb9de719f582407bbb57d6
|
7
|
+
data.tar.gz: 6583acdc831c67a407fa237d6b7c2900f1653b7a9dc8b43713f9633d0011ed4b93e5685a7a146bb06bba27343b6b8367a7c16662ab64fe85d58d77dbd347b437
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,19 @@
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
-
## [1.0.0.
|
5
|
+
## [1.0.0.beta4] 2019-05-15
|
6
|
+
### Changed
|
7
|
+
- Fix problem after config file convertion to version 2
|
8
|
+
|
9
|
+
## [1.0.0.beta3] 2019-05-15
|
10
|
+
### Changed
|
11
|
+
- Fix a circular dependency between i2c2 and i2c2
|
12
|
+
|
13
|
+
## [1.0.0.beta2] 2019-05-15
|
14
|
+
### Changed
|
15
|
+
- Fix merge error on "-m" option [beta1 failed]
|
16
|
+
|
17
|
+
## [1.0.0.beta1] 2019-05-11
|
6
18
|
### Changed
|
7
19
|
- Fix merge error on "-m" option
|
8
20
|
|
data/Gemfile
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
source "
|
1
|
+
source "https://rubygems.org"
|
2
2
|
# Add dependencies required to use your gem here.
|
3
3
|
# Example:
|
4
4
|
# gem "activesupport", ">= 2.3.5"
|
5
5
|
|
6
|
+
gem "rb-scpt", "~> 1.0.1"
|
7
|
+
|
6
8
|
# Add dependencies to develop your gem here.
|
7
9
|
# Include everything needed to run rake, tests, features, etc.
|
8
10
|
group :development do
|
@@ -11,4 +13,3 @@ group :development do
|
|
11
13
|
gem "shoulda"
|
12
14
|
gem "builder"
|
13
15
|
end
|
14
|
-
|
data/Gemfile.lock
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
GEM
|
2
|
-
remote:
|
2
|
+
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
4
|
addressable (2.6.0)
|
5
5
|
public_suffix (>= 2.0.2, < 4.0)
|
@@ -45,6 +45,7 @@ GEM
|
|
45
45
|
public_suffix (2.0.5)
|
46
46
|
rack (1.6.11)
|
47
47
|
rake (12.3.2)
|
48
|
+
rb-scpt (1.0.3)
|
48
49
|
rdoc (5.1.0)
|
49
50
|
semver (1.0.1)
|
50
51
|
shoulda (2.11.3)
|
@@ -57,6 +58,7 @@ DEPENDENCIES
|
|
57
58
|
builder
|
58
59
|
bundler (>= 1.0.0)
|
59
60
|
jeweler (= 2.1.2)
|
61
|
+
rb-scpt (~> 1.0.1)
|
60
62
|
shoulda
|
61
63
|
|
62
64
|
BUNDLED WITH
|
data/Rakefile
CHANGED
@@ -21,8 +21,7 @@ Jeweler::Tasks.new do |gem|
|
|
21
21
|
gem.description = %Q{csshX like - cluster ssh using iTerm2 panes - based on i2cssh}
|
22
22
|
gem.email = "dx7@pm.me"
|
23
23
|
gem.authors = ["dx7", "Wouter de Bie"]
|
24
|
-
# dependencies defined in Gemfile
|
25
|
-
gem.add_dependency 'rb-scpt', "~> 1.0.1"
|
24
|
+
# dependencies are defined in Gemfile
|
26
25
|
end
|
27
26
|
Jeweler::RubygemsDotOrgTasks.new
|
28
27
|
|
@@ -42,5 +41,6 @@ Rake::RDocTask.new do |rdoc|
|
|
42
41
|
rdoc.rdoc_dir = 'rdoc'
|
43
42
|
rdoc.title = "i2c2 #{version}"
|
44
43
|
rdoc.rdoc_files.include('README*')
|
44
|
+
rdoc.rdoc_files.include('CHANGELOG*')
|
45
45
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
46
46
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.0.
|
1
|
+
1.0.0.beta4
|
data/bin/i2c2
CHANGED
@@ -8,6 +8,19 @@ require 'yaml'
|
|
8
8
|
|
9
9
|
@i2_options, ssh_options, @servers, @clusters, @ssh_environment, opts_from_cmdline = [], [], [], {}, [], {}
|
10
10
|
|
11
|
+
def debug_vars
|
12
|
+
p '-----------------------------'
|
13
|
+
p '@i2_options'
|
14
|
+
p @i2_options
|
15
|
+
p '@servers'
|
16
|
+
p @servers
|
17
|
+
p '@clusters'
|
18
|
+
p @clusters
|
19
|
+
p '@ssh_environment'
|
20
|
+
p @ssh_environment
|
21
|
+
p '-----------------------------'
|
22
|
+
end
|
23
|
+
|
11
24
|
def get_hosts(c)
|
12
25
|
c.each do |clus|
|
13
26
|
|
@@ -69,19 +82,18 @@ def set_options(config_hash, login_override=nil)
|
|
69
82
|
end
|
70
83
|
|
71
84
|
if File.exists?(@config_file)
|
72
|
-
|
85
|
+
config_hash = YAML.load(File.read(@config_file))
|
73
86
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
else
|
79
|
-
# Convert version 1 format to version 2
|
80
|
-
@clusters = config_hash["clusters"].inject({}){|m, c| m[c[0]] = {"hosts" => c[1]}; m}
|
81
|
-
end
|
87
|
+
# Convert version 1 format to version 2
|
88
|
+
if config_hash && config_hash['version'].to_i < 2
|
89
|
+
config_hash['clusters'] = config_hash['clusters'].inject({}) { |m, c| m[c[0]] = { 'hosts' => c[1] }; m }
|
90
|
+
end
|
82
91
|
|
92
|
+
# Read config and set defaults from config
|
93
|
+
set_options(config_hash)
|
94
|
+
@clusters = config_hash["clusters"]
|
83
95
|
else
|
84
|
-
|
96
|
+
set_options({})
|
85
97
|
end
|
86
98
|
|
87
99
|
|
@@ -94,11 +106,13 @@ optparse = OptionParser.new do |opts|
|
|
94
106
|
get_hosts(c)
|
95
107
|
end
|
96
108
|
|
109
|
+
|
97
110
|
opts.on '-m', '--machines a,b,c', Array,
|
98
|
-
'Comma-separated list of hosts' do |
|
111
|
+
'Comma-separated list of hosts' do |h|
|
99
112
|
|
100
|
-
|
101
|
-
@
|
113
|
+
# Add to servers array and get a clone of default options
|
114
|
+
@servers << h
|
115
|
+
@i2_options << @i2_options.first.clone
|
102
116
|
if @ssh_environment.empty?
|
103
117
|
@ssh_environment << {}
|
104
118
|
else
|
@@ -267,7 +281,7 @@ end
|
|
267
281
|
|
268
282
|
# Drop default options
|
269
283
|
if @i2_options.size > @servers.size
|
270
|
-
@i2_options.
|
284
|
+
@i2_options.shift
|
271
285
|
end
|
272
286
|
|
273
287
|
if @ssh_environment.size > @servers.size
|
data/i2c2.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: i2c2 0.
|
5
|
+
# stub: i2c2 1.0.0.beta4 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "i2c2"
|
9
|
-
s.version = "1.0.0.
|
9
|
+
s.version = "1.0.0.beta4"
|
10
10
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["dx7", "Wouter de Bie"]
|
14
|
-
s.date = "2019-05-
|
14
|
+
s.date = "2019-05-16"
|
15
15
|
s.description = "csshX like - cluster ssh using iTerm2 panes - based on i2cssh"
|
16
16
|
s.email = "dx7@pm.me"
|
17
17
|
s.executables = ["i2c2"]
|
@@ -37,31 +37,31 @@ Gem::Specification.new do |s|
|
|
37
37
|
]
|
38
38
|
s.homepage = "http://github.com/dx7/i2c2"
|
39
39
|
s.licenses = ["MIT"]
|
40
|
-
s.rubygems_version = "
|
40
|
+
s.rubygems_version = "3.0.3"
|
41
41
|
s.summary = "csshX like - cluster ssh using iTerm2 panes - based on i2cssh"
|
42
42
|
|
43
43
|
if s.respond_to? :specification_version then
|
44
44
|
s.specification_version = 4
|
45
45
|
|
46
46
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
47
|
+
s.add_runtime_dependency(%q<rb-scpt>, ["~> 1.0.1"])
|
47
48
|
s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
|
48
49
|
s.add_development_dependency(%q<jeweler>, ["= 2.1.2"])
|
49
50
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
50
51
|
s.add_development_dependency(%q<builder>, [">= 0"])
|
51
|
-
s.add_runtime_dependency(%q<rb-scpt>, ["~> 1.0.1"])
|
52
52
|
else
|
53
|
+
s.add_dependency(%q<rb-scpt>, ["~> 1.0.1"])
|
53
54
|
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
54
55
|
s.add_dependency(%q<jeweler>, ["= 2.1.2"])
|
55
56
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
56
57
|
s.add_dependency(%q<builder>, [">= 0"])
|
57
|
-
s.add_dependency(%q<rb-scpt>, ["~> 1.0.1"])
|
58
58
|
end
|
59
59
|
else
|
60
|
+
s.add_dependency(%q<rb-scpt>, ["~> 1.0.1"])
|
60
61
|
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
61
62
|
s.add_dependency(%q<jeweler>, ["= 2.1.2"])
|
62
63
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
63
64
|
s.add_dependency(%q<builder>, [">= 0"])
|
64
|
-
s.add_dependency(%q<rb-scpt>, ["~> 1.0.1"])
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
data/lib/i2c2.rb
CHANGED
@@ -15,7 +15,7 @@ class I2c2
|
|
15
15
|
@pane_menu = @sys_events.processes["iTerm2"].menu_bars[1].menu_bar_items["Window"].menus["Window"].menu_items["Select Split Pane"].menus["Select Split Pane"]
|
16
16
|
@shell_menu = @sys_events.processes["iTerm2"].menu_bars[1].menu_bar_items["Shell"].menus["Shell"]
|
17
17
|
|
18
|
-
@profile =
|
18
|
+
@profile = i2_options.first[:profile] || "Default"
|
19
19
|
@shell = "/usr/bin/env #{@i2_options.first[:shell] || 'bash'}"
|
20
20
|
|
21
21
|
@iterm.create_window_with_profile(@profile, :command => "#{@shell} -l")
|
@@ -25,12 +25,12 @@ class I2c2
|
|
25
25
|
compute_geometry
|
26
26
|
split_session
|
27
27
|
start_ssh
|
28
|
-
enable_broadcast if
|
28
|
+
enable_broadcast if i2_options.first[:broadcast]
|
29
29
|
@servers.shift
|
30
30
|
@i2_options.shift
|
31
31
|
@ssh_environment.shift
|
32
32
|
|
33
|
-
if !@servers.empty? &&
|
33
|
+
if !@servers.empty? && i2_options.first[:tabs] then
|
34
34
|
# @iterm.create_tab(@profile)
|
35
35
|
@window.create_tab_with_default_profile()
|
36
36
|
@session_index = 0
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: i2c2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dx7
|
@@ -9,8 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-05-
|
12
|
+
date: 2019-05-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rb-scpt
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.0.1
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 1.0.1
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: bundler
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,20 +81,6 @@ dependencies:
|
|
67
81
|
- - ">="
|
68
82
|
- !ruby/object:Gem::Version
|
69
83
|
version: '0'
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rb-scpt
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - "~>"
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 1.0.1
|
77
|
-
type: :runtime
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - "~>"
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: 1.0.1
|
84
84
|
description: csshX like - cluster ssh using iTerm2 panes - based on i2cssh
|
85
85
|
email: dx7@pm.me
|
86
86
|
executables:
|
@@ -123,8 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 1.3.1
|
125
125
|
requirements: []
|
126
|
-
|
127
|
-
rubygems_version: 2.7.8
|
126
|
+
rubygems_version: 3.0.3
|
128
127
|
signing_key:
|
129
128
|
specification_version: 4
|
130
129
|
summary: csshX like - cluster ssh using iTerm2 panes - based on i2cssh
|