Sha256: d3dfa86d87b75865812d8269fbf1997625369c08e47635986d04c37294075b85

Contents?: true

Size: 1.43 KB

Versions: 53

Compression:

Stored size: 1.43 KB

Contents

require "inspec/errors"

module Inspec
  module Plugin
    module V2
      class Exception < Inspec::Error; end
      class ConfigError < Inspec::Plugin::V2::Exception; end
      class LoadError < Inspec::Plugin::V2::Exception; end
      class GemActionError < Inspec::Plugin::V2::Exception
        attr_accessor :plugin_name
        attr_accessor :version
      end
      class InstallError < Inspec::Plugin::V2::GemActionError; end
      class PluginExcludedError < Inspec::Plugin::V2::InstallError
        attr_accessor :details
      end
      class UpdateError < Inspec::Plugin::V2::GemActionError
        attr_accessor :from_version, :to_version
      end
      class UnInstallError < Inspec::Plugin::V2::GemActionError; end
      class SearchError < Inspec::Plugin::V2::GemActionError; end
    end
  end
end

require "inspec/globals"
require "inspec/plugin/v2/config_file"
require "inspec/plugin/v2/registry"
require "inspec/plugin/v2/loader"
require "inspec/plugin/v2/plugin_base"

# Load all plugin type base classes
Dir.glob(File.join(__dir__, "v2", "plugin_types", "*.rb")).each { |file| require file }

module Inspec
  # Provides the base class that plugin implementors should use.
  def self.plugin(version, plugin_type = nil)
    unless version == 2
      raise "Only plugins version 2 is supported!"
    end

    return Inspec::Plugin::V2::PluginBase if plugin_type.nil?

    Inspec::Plugin::V2::PluginBase.base_class_for_type(plugin_type)
  end
end

Version data entries

53 entries across 53 versions & 2 rubygems

Version Path
inspec-core-4.24.8 lib/inspec/plugin/v2.rb
inspec-core-4.23.15 lib/inspec/plugin/v2.rb
inspec-core-4.23.11 lib/inspec/plugin/v2.rb
inspec-core-4.23.10 lib/inspec/plugin/v2.rb
inspec-core-4.23.4 lib/inspec/plugin/v2.rb
inspec-core-4.22.22 lib/inspec/plugin/v2.rb
inspec-core-4.22.8 lib/inspec/plugin/v2.rb
inspec-core-4.22.1 lib/inspec/plugin/v2.rb
inspec-core-4.22.0 lib/inspec/plugin/v2.rb
inspec-core-4.21.3 lib/inspec/plugin/v2.rb
inspec-core-4.21.1 lib/inspec/plugin/v2.rb
inspec-core-4.20.10 lib/inspec/plugin/v2.rb
inspec-core-4.20.6 lib/inspec/plugin/v2.rb
inspec-core-4.20.2 lib/inspec/plugin/v2.rb
inspec-core-4.19.2 lib/inspec/plugin/v2.rb
inspec-core-4.19.0 lib/inspec/plugin/v2.rb
inspec-core-4.18.114 lib/inspec/plugin/v2.rb
inspec-core-4.18.111 lib/inspec/plugin/v2.rb
inspec-core-4.18.108 lib/inspec/plugin/v2.rb
inspec-core-4.18.104 lib/inspec/plugin/v2.rb