class PuppetRakeTasks::DepChecker::Task

Provide a rake task to check module dependencies

@example Run in current directory

require 'puppet_module_task'
PuppetModuleTask::Task::DepChecker.new

Attributes

depchecker[R]

Instance of the dependency resolver.

name[RW]

Name of the task. Defaults to `:depcheck`.

Public Class Methods

new(*args, &task_block) click to toggle source

Create a new task instance.

# File lib/puppet_rake_tasks/depchecker.rb, line 22
def initialize(*args, &task_block)
  @name = args.shift || :depcheck
  @depchecker = ::PuppetRakeTasks::DepChecker::Resolver.new
  Rake::Task[@name].clear if Rake::Task.task_defined?(@name)
  define(args, &task_block)
end

Private Instance Methods

define(args) { |*[depchecker, args].slice(0, arity)| ... } click to toggle source

Define the rake task.

# File lib/puppet_rake_tasks/depchecker.rb, line 40
def define(args, &task_block)
  desc 'Check puppet module dependencies'
  yield(*[@depchecker, args].slice(0, task_block.arity)) if task_block
  task name, *args, &method(:execution)
end
execution(*_args) click to toggle source

Core task execution.

# File lib/puppet_rake_tasks/depchecker.rb, line 32
def execution(*_args)
  @depchecker.report unless @depchecker.filtered.empty?
rescue PuppetRakeTasks::DepChecker::Resolver::Report::DependencyError => ex
  raise ex if Rake.application.options.trace == true || Rake.application.options.backtrace == true
  abort(ex.message)
end