kitchen-nodes 0.6.3 → 0.6.4.dev

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: e21dedb1196582e2d056a4f754ee7c493f9d4f96
4
- data.tar.gz: 7f0d94dd838edb6e24291c965dba01f3426e644c
3
+ metadata.gz: 2799bcd9cdac4c8ececde174ac1c93d469a27fae
4
+ data.tar.gz: 40d210749c18aabb1f403b42e5e946f45b222214
5
5
  SHA512:
6
- metadata.gz: 7a2d9b474d7c9f356389ebeb5fc922e4ebd8cbcee8ec40359108726d683e72091f7ecbdd6e21d78bb2220007b834e7952c3aba56ccc6e835665cfd5cd4ab3c42
7
- data.tar.gz: 8b1fca4f71d2ef9e4add0ade6ceffdfcb6f198f43a515671e5a527247e45c62d48d2691120e9b9080c9a31929007a48b4e32e9fac8bea4ca235287913f0c6431
6
+ metadata.gz: e35e756c6fb1f166150c8903a4010637f1519e5b7d43786f75c5774c46516fd8b1ec9faf8d4975c4204deaa632f16f3834bc98b2c2c56ef7f868d84e8d3e9d35
7
+ data.tar.gz: 39839cf40f44a5716ecdc10c030b14eb8d26486a3985b451708f8f1f62f9e274dc73cd6071a77edb05891eb3174f88ad1596bdd69ff478a478a8dcc2f4e4557b
@@ -4,15 +4,22 @@ module Kitchen
4
4
  # there are separate implementations for
5
5
  # different kitchen transports
6
6
  module Finder
7
+ @finder_registry = {}
8
+
7
9
  def self.for_transport(transport, state)
8
- transport_string = transport.class.name.split('::').last
9
- require("kitchen/provisioner/finder/#{transport_string.downcase}")
10
+ @finder_registry.each do |registered_transport, finder|
11
+ if transport.class <= registered_transport
12
+ return finder.new(transport.connection(state))
13
+ end
14
+ end
15
+ end
10
16
 
11
- connection = transport.connection(state)
12
- klass = const_get(transport_string)
13
- object = klass.new(connection)
14
- object
17
+ def self.register_finder(transport, finder)
18
+ @finder_registry[transport] = finder
15
19
  end
16
20
  end
17
21
  end
18
22
  end
23
+
24
+ require 'kitchen/provisioner/finder/ssh'
25
+ require 'kitchen/provisioner/finder/winrm'
@@ -52,6 +52,9 @@ module Kitchen
52
52
  # SSH implementation for returning active non-localhost IPs
53
53
  class Ssh
54
54
  IP4REGEX = /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/
55
+
56
+ Finder.register_finder(Kitchen::Transport::Ssh, self)
57
+
55
58
  def initialize(connection)
56
59
  @connection = connection
57
60
  end
@@ -15,6 +15,8 @@ module Kitchen
15
15
  module Finder
16
16
  # WinRM implementation for returning active non-localhost IPs
17
17
  class Winrm
18
+ Finder.register_finder(Kitchen::Transport::Winrm, self)
19
+
18
20
  def initialize(connection)
19
21
  @connection = connection
20
22
  end
@@ -19,6 +19,6 @@
19
19
  module Kitchen
20
20
  # Version string for Nodes Kitchen driver
21
21
  module Provisioner
22
- NODES_VERSION = '0.6.3'
22
+ NODES_VERSION = '0.6.4.dev'
23
23
  end
24
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-nodes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.4.dev
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Wrock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-27 00:00:00.000000000 Z
11
+ date: 2016-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ping
@@ -171,9 +171,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
171
  version: '0'
172
172
  required_rubygems_version: !ruby/object:Gem::Requirement
173
173
  requirements:
174
- - - ">="
174
+ - - ">"
175
175
  - !ruby/object:Gem::Version
176
- version: '0'
176
+ version: 1.3.1
177
177
  requirements: []
178
178
  rubyforge_project:
179
179
  rubygems_version: 2.4.8