class Puppet::Pal::ScriptCompiler

Public Instance Methods

list_plans(filter_regex = nil, error_collector = nil) click to toggle source

Returns an array of TypedName objects for all plans, optionally filtered by a regular expression. The returned array has more information than just the leaf name - the typical thing is to just get the name as showing the following example.

Errors that occur during plan discovery will either be logged as warnings or collected by the optional `error_collector` array. When provided, it will receive {Puppet::DataTypes::Error} instances describing each error in detail and no warnings will be logged.

@example getting the names of all plans

compiler.list_plans.map {|tn| tn.name }

@param filter_regex [Regexp] an optional regexp that filters based on name (matching names are included in the result) @param error_collector [Array<Puppet::DataTypes::Error>] an optional array that will receive errors during load @return [Array<Puppet::Pops::Loader::TypedName>] an array of typed names

   # File lib/puppet/pal/script_compiler.rb
34 def list_plans(filter_regex = nil, error_collector = nil)
35   list_loadable_kind(:plan, filter_regex, error_collector)
36 end
list_tasks(filter_regex = nil, error_collector = nil) click to toggle source

Returns an array of TypedName objects for all tasks, optionally filtered by a regular expression. The returned array has more information than just the leaf name - the typical thing is to just get the name as showing the following example.

@example getting the names of all tasks

compiler.list_tasks.map {|tn| tn.name }

Errors that occur during task discovery will either be logged as warnings or collected by the optional `error_collector` array. When provided, it will receive {Puppet::DataTypes::Error} instances describing each error in detail and no warnings will be logged.

@param filter_regex [Regexp] an optional regexp that filters based on name (matching names are included in the result) @param error_collector [Array<Puppet::DataTypes::Error>] an optional array that will receive errors during load @return [Array<Puppet::Pops::Loader::TypedName>] an array of typed names

   # File lib/puppet/pal/script_compiler.rb
67 def list_tasks(filter_regex = nil, error_collector = nil)
68   list_loadable_kind(:task, filter_regex, error_collector)
69 end
plan_signature(plan_name) click to toggle source

Returns the signature of the given plan name @param plan_name [String] the name of the plan to get the signature of @return [Puppet::Pal::PlanSignature, nil] returns a PlanSignature, or nil if plan is not found

   # File lib/puppet/pal/script_compiler.rb
 9 def plan_signature(plan_name)
10   loader = internal_compiler.loaders.private_environment_loader
11   func = loader.load(:plan, plan_name)
12   if func
13     return PlanSignature.new(func)
14   end
15   # Could not find plan
16   nil
17 end
task_signature(task_name) click to toggle source

Returns the signature callable of the given task (the arguments it accepts, and the data type it returns) @param task_name [String] the name of the task to get the signature of @return [Puppet::Pal::TaskSignature, nil] returns a TaskSignature, or nil if task is not found

   # File lib/puppet/pal/script_compiler.rb
42 def task_signature(task_name)
43   loader = internal_compiler.loaders.private_environment_loader
44   task = loader.load(:task, task_name)
45   if task
46     return TaskSignature.new(task)
47   end
48   # Could not find task
49   nil
50 end