kitchen-nodes 0.6.3 → 0.6.4.dev

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