Parent

Class/Module Index [+]

Quicksearch

MCollective::PluginPackager::StandardDefinition

Attributes

dependencies[RW]
iteration[RW]
mccommon[RW]
mcserver[RW]
metadata[RW]
packagedata[RW]
path[RW]
plugintype[RW]
postinstall[RW]
preinstall[RW]
target_path[RW]
vendor[RW]

Public Instance Methods

common() click to toggle source

Obtain list of common files

# File lib/mcollective/pluginpackager/standard_definition.rb, line 51
def common
  common = {:files => [],
            :dependencies => @dependencies.clone << @mccommon,
            :description => "Common libraries for #{@name} connector plugin"}

  commondir = File.join(@path, "util")
  if PluginPackager.check_dir_present commondir
    common[:files] = Dir.glob(File.join(commondir, "*"))
    return common
  else
    return nil
  end
end
identify_packages() click to toggle source

Identify present packages and populate the packagedata hash

# File lib/mcollective/pluginpackager/standard_definition.rb, line 26
def identify_packages
  common_package = common
  @packagedata[:common] = common_package if common_package
  plugin_package = plugin
  @packagedata[@plugintype] = plugin_package if plugin_package
end
plugin() click to toggle source

Obtain standard plugin files and dependencies

# File lib/mcollective/pluginpackager/standard_definition.rb, line 34
def plugin
  plugindata = {:files => [],
                :dependencies => @dependencies.clone << @mcserver,
                :description => "#{@name} #{@plugintype} plugin for the Marionette Collective."}

  plugindir = File.join(@path, @plugintype.to_s)
  if PluginPackager.check_dir_present plugindir
    plugindata[:files] = Dir.glob(File.join(plugindir, "*"))
  else
    return nil
  end

  plugindata[:dependencies] <<["mcollective-#{@metadata[:name]}-common", @metadata[:version]] if @packagedata[:common]
  plugindata
end

Public Class Methods

new(path, name, vendor, preinstall, postinstall, iteration, dependencies, mcodependency, plugintype) click to toggle source
# File lib/mcollective/pluginpackager/standard_definition.rb, line 8
def initialize(path, name, vendor, preinstall, postinstall, iteration, dependencies, mcodependency, plugintype)
  @plugintype = plugintype
  @path = path
  @packagedata = {}
  @iteration = iteration || 1
  @preinstall = preinstall
  @postinstall = postinstall
  @vendor = vendor || "Puppet Labs"
  @dependencies = dependencies || []
  @mcserver = mcodependency[:server] || "mcollective"
  @mccommon = mcodependency[:common] || "mcollective-common"
  @target_path = File.expand_path(@path)
  @metadata = PluginPackager.get_metadata(@path, @plugintype)
  @metadata[:name] = (name || @metadata[:name]).downcase.gsub(" ", "-")
  identify_packages
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.