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 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