module Inspec::Backend

def self.create(config)

Returns:
  • (TransportBackend) - enriched transport instance

Parameters:
  • config (Hash) -- for the transport backend
def self.create(config)
  conf = Train.target_config(config)
  name = conf[:backend] || :local
  transport = Train.create(name, conf)
  if transport.nil?
    fail "Can't find transport backend '#{name}'."
  end
  connection = transport.connection
  if connection.nil?
    fail "Can't connect to transport backend '#{name}'."
  end
  cls = Class.new do
    define_method :backend do
      connection
    end
    Inspec::Resource.registry.each do |id, r|
      define_method id.to_sym do |*args|
        r.new(self, id.to_s, *args)
      end
    end
  end
  cls.new
end