Class: PuppetRakeTasks::DepChecker::Task

Inherits:
Rake::TaskLib
  • Object
show all
Includes:
Rake::DSL
Defined in:
lib/puppet_rake_tasks/depchecker.rb

Overview

Provide a rake task to check module dependencies

Examples:

Run in current directory

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args, &task_block) ⇒ Task

Create a new task instance.



22
23
24
25
26
27
# 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

Instance Attribute Details

#depcheckerObject (readonly)

Instance of the dependency resolver.



19
20
21
# File 'lib/puppet_rake_tasks/depchecker.rb', line 19

def depchecker
  @depchecker
end

#nameObject

Name of the task. Defaults to :depcheck.



16
17
18
# File 'lib/puppet_rake_tasks/depchecker.rb', line 16

def name
  @name
end

Instance Method Details

#define(args) {|[@depchecker, args].slice(0, task_block.arity)| ... } ⇒ Object (private)

Define the rake task.

Yields:

  • ([@depchecker, args].slice(0, task_block.arity))


40
41
42
43
44
# 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) ⇒ Object (private)

Core task execution.



32
33
34
35
36
37
# 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