mirror of
https://github.com/inspec/inspec
synced 2024-12-18 09:03:12 +00:00
13bc7f4015
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
27 lines
615 B
Ruby
27 lines
615 B
Ruby
# encoding: utf-8
|
|
|
|
require 'digest'
|
|
|
|
module Vulcano::Plugins
|
|
|
|
class Backend
|
|
autoload :FileCommon, 'vulcano/plugins/backend_file_common'
|
|
autoload :LinuxFile, 'vulcano/plugins/backend_linux_file'
|
|
|
|
def self.name(name)
|
|
Vulcano::Plugins::Backend.__register(name, self)
|
|
end
|
|
|
|
# raise errors for all missing methods
|
|
%w{ file run_command os }.each do |m|
|
|
define_method(m.to_sym) do |*args|
|
|
fail NotImplementedError.new("Backend must implement the #{m}() method.")
|
|
end
|
|
end
|
|
|
|
def self.__register(id, obj)
|
|
Vulcano::Backend.registry[id] = obj
|
|
end
|
|
|
|
end
|
|
end
|