ssh_client 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ssh_client/config_item.rb +5 -5
- data/lib/ssh_client/connection.rb +4 -3
- data/lib/ssh_client/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47239384ac65b5c7322ec4481a63af823617a4f4
|
4
|
+
data.tar.gz: 889994af697cda72b443fab180120df77cc2cbdb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bff5f0ad46f3deb36e22085db2595bb8716a795274a594e3e5b4ace28a97a04dc179efa9ba7239e47b88ef27c4364837ee1c00e0ced73b69d9fc74d81091774c
|
7
|
+
data.tar.gz: f912fce2ea9c2e4d239d677f6dea6b826cfa7184e6b758426aaf57a503712ee540daedfe568d90d8088bfd2f11c41afcfcab296876b7286349087584d684dc52
|
@@ -13,7 +13,7 @@ module SSHClient
|
|
13
13
|
@name = name || DEFAULT_NAME
|
14
14
|
@listeners = { stdout: Set.new, stderr: Set.new }
|
15
15
|
|
16
|
-
add_listener
|
16
|
+
add_listener { |data| logger.info "<< #{data}" } if default?
|
17
17
|
end
|
18
18
|
|
19
19
|
def listeners
|
@@ -24,8 +24,8 @@ module SSHClient
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
def add_listener(
|
28
|
-
Array(
|
27
|
+
def add_listener(*args, &blk)
|
28
|
+
Array(args || @listeners.keys).each do |k|
|
29
29
|
@listeners[k] << blk
|
30
30
|
end
|
31
31
|
@cached_listeners = nil
|
@@ -53,11 +53,11 @@ module SSHClient
|
|
53
53
|
|
54
54
|
def raise_on_errors=(value)
|
55
55
|
if value
|
56
|
-
add_listener(:
|
56
|
+
@errors_listener = add_listener(:stderr) do |data|
|
57
57
|
Thread.main.raise CommandExitWithError.new(data) if data
|
58
58
|
end
|
59
59
|
else
|
60
|
-
remove_listener(
|
60
|
+
remove_listener(@errors_listener, :stderr) if @errors_listener
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -8,8 +8,8 @@ module SSHClient
|
|
8
8
|
|
9
9
|
attr_reader :config, :transport
|
10
10
|
|
11
|
-
def initialize(config_name = nil, hostname: nil, username: nil, password: nil, &blk)
|
12
|
-
build_config hostname, username, password if hostname
|
11
|
+
def initialize(config_name = nil, hostname: nil, username: nil, password: nil, logger: nil, &blk)
|
12
|
+
build_config hostname, username, password, logger: logger if hostname
|
13
13
|
@config ||= SSHClient.config config_name
|
14
14
|
@transport = config.transport
|
15
15
|
|
@@ -19,11 +19,12 @@ module SSHClient
|
|
19
19
|
ObjectSpace.define_finalizer(self) { transport.close }
|
20
20
|
end
|
21
21
|
|
22
|
-
def build_config(hostname, username, password)
|
22
|
+
def build_config(hostname, username, password, logger: nil)
|
23
23
|
@config ||= SSHClient.configure(hostname) do |conf|
|
24
24
|
conf.hostname = hostname
|
25
25
|
conf.username = username
|
26
26
|
conf.password = password
|
27
|
+
conf.logger = logger
|
27
28
|
end
|
28
29
|
end
|
29
30
|
|
data/lib/ssh_client/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ssh_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Konstantin Kosmatov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|