Method: Puppet::Module::Task#initialize

Defined in:
lib/puppet/module/task.rb

#initialize(pup_module, task_name, files, metadata_file = nil) ⇒ Task

Returns a new instance of Task.



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/puppet/module/task.rb', line 45

def initialize(pup_module, task_name, files,  = nil)
  if !Puppet::Module::Task.is_task_name?(task_name)
    raise InvalidName, _("Task names must start with a lowercase letter and be composed of only lowercase letters, numbers, and underscores")
  end

  all_files = .nil? ? files : files + []
  all_files.each do |f|
    if !f.start_with?(pup_module.tasks_directory)
      msg = _("The file '%{path}' is not located in the %{module_name} module's tasks directory") %
                   {path: f.to_s, module_name: pup_module.name}

      # we can include some extra context for the log message:
      Puppet.err(msg + " (#{pup_module.tasks_directory})")
      raise InvalidFile, msg
    end
  end

  name = task_name == "init" ? pup_module.name : "#{pup_module.name}::#{task_name}"

  @module = pup_module
  @name = name
  @metadata_file =  if 
  @files = files
end