class Ohai::DSL::Plugin::VersionVII

Attributes

source[R]
version[R]

Public Class Methods

collect_data(platform = :default, *other_platforms, &block) click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 69
def self.collect_data(platform = :default, *other_platforms, &block)
  [platform, other_platforms].flatten.each do |plat|
    if data_collector.has_key?(plat)
      raise Ohai::Exceptions::IllegalPluginDefinition, "collect_data already defined on platform #{plat}"
    else
      data_collector[plat] = block
    end
  end
end
data_collector() click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 53
def self.data_collector
  @data_collector ||= Mash.new
end
depends(*attrs) click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 63
def self.depends(*attrs)
  attrs.each do |attr|
    depends_attrs << attr unless depends_attrs.include?(attr)
  end
end
depends_attrs() click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 49
def self.depends_attrs
  @depends_attrs ||= []
end
new(data) click to toggle source
Calls superclass method Ohai::DSL::Plugin.new
# File lib/ohai/dsl/plugin/versionvii.rb, line 27
def initialize(data)
  super(data)
  @source = self.class.sources
  @version = :version7
end
provides(*attrs) click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 57
def self.provides(*attrs)
  attrs.each do |attr|
    provides_attrs << attr unless provides_attrs.include?(attr)
  end
end
provides_attrs() click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 45
def self.provides_attrs
  @provides_attrs ||= []
end
sources() click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 41
def self.sources
  @source_list ||= []
end
version() click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 37
def self.version
  :version7
end

Public Instance Methods

dependencies() click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 79
def dependencies
  self.class.depends_attrs
end
name() click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 33
def name
  self.class.name.split("Ohai::NamedPlugin::")[1].to_sym
end
provides(*paths) click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 96
def provides(*paths)
  Ohai::Log.warn("[UNSUPPORTED OPERATION] \'provides\' is no longer supported in a \'collect_data\' context. Please specify \'provides\' before collecting plugin data. Ignoring command \'provides #{paths.join(", ")}")
end
require_plugin(*args) click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 100
def require_plugin(*args)
  Ohai::Log.warn("[UNSUPPORTED OPERATION] \'require_plugin\' is no longer supported. Please use \'depends\' instead.\nIgnoring plugin(s) #{args.join(", ")}")
end
run_plugin() click to toggle source
# File lib/ohai/dsl/plugin/versionvii.rb, line 83
def run_plugin
  collector = self.class.data_collector
  platform = collect_os

  if collector.has_key?(platform)
    self.instance_eval(&collector[platform])
  elsif collector.has_key?(:default)
    self.instance_eval(&collector[:default])
  else
    Ohai::Log.debug("No data to collect for plugin #{self.name}. Continuing...")
  end
end