ssh_client 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8607f5212acbb733b0e1eb537121a0788cdd68da
4
- data.tar.gz: d857601332a6825b555a2c342f35eb508ddc9ebd
3
+ metadata.gz: 47239384ac65b5c7322ec4481a63af823617a4f4
4
+ data.tar.gz: 889994af697cda72b443fab180120df77cc2cbdb
5
5
  SHA512:
6
- metadata.gz: f7494bc4d810610a502b4d519bbcb7916c3965d5e196485106fd900e33c6fbd9fb48df3e9da7de939281d4f34f50610f6cbf3d36cb024fa2689f17994c5ee2d4
7
- data.tar.gz: bf1e84289d0ae116f41cbd4ded4e84ed2409242c1cd3bc1c7a393e4b50e0a7fe03105c1e21ffce63296fe737bfb85d51aa3868c1d6a29301a767e8d1aa410613
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(:logger) { |data| logger.info "<< #{data}" } if default?
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(name, io_type = nil, &blk)
28
- Array(io_type || @listeners.keys).each do |k|
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(:raise_on_errors, :stderr) do |data|
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(:raise_on_errors, :stderr)
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
 
@@ -1,3 +1,3 @@
1
1
  module SSHClient
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
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.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-05-31 00:00:00.000000000 Z
11
+ date: 2017-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh