Sha256: 0d8335c802227de1b8bcb445bb3bf9a8f051ba50b5ba019d72430efb7421abee

Contents?: true

Size: 682 Bytes

Versions: 6

Compression:

Stored size: 682 Bytes

Contents

module Kitchen
  module Provisioner
    # Locates active IPs that are not localhost
    # there are separate implementations for
    # different kitchen transports
    module Finder
      @finder_registry = {}

      def self.for_transport(transport, state)
        @finder_registry.each do |registered_transport, finder|
          if transport.class <= registered_transport
            return finder.new(transport.connection(state))
          end
        end
      end

      def self.register_finder(transport, finder)
        @finder_registry[transport] = finder
      end
    end
  end
end

require 'kitchen/provisioner/finder/ssh'
require 'kitchen/provisioner/finder/winrm'

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
kitchen-nodes-lobatoa-0.10.0 lib/kitchen/provisioner/finder.rb
kitchen-nodes-scalp42-0.10.0 lib/kitchen/provisioner/finder.rb
kitchen-nodes-scalp42-0.9.1 lib/kitchen/provisioner/finder.rb
kitchen-nodes-0.9.1 lib/kitchen/provisioner/finder.rb
kitchen-nodes-0.9.0 lib/kitchen/provisioner/finder.rb
kitchen-nodes-0.8.0 lib/kitchen/provisioner/finder.rb