Class: Bolt::Plugin

Inherits:
Object
  • Object
show all
Defined in:
lib/bolt/plugin.rb,
lib/bolt/plugin/task.rb,
lib/bolt/plugin/pkcs7.rb,
lib/bolt/plugin/prompt.rb,
lib/bolt/plugin/puppetdb.rb,
lib/bolt/plugin/terraform.rb

Defined Under Namespace

Classes: Pkcs7, PluginError, Prompt, Puppetdb, Task, Terraform

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_config) ⇒ Plugin

Returns a new instance of Plugin.



28
29
30
# File 'lib/bolt/plugin.rb', line 28

def initialize(_config)
  @plugins = {}
end

Class Method Details

.setup(config, pdb_client) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/bolt/plugin.rb', line 18

def self.setup(config, pdb_client)
  plugins = new(config)
  plugins.add_plugin(Bolt::Plugin::Puppetdb.new(pdb_client))
  plugins.add_plugin(Bolt::Plugin::Terraform.new)
  plugins.add_plugin(Bolt::Plugin::Prompt.new)
  plugins.add_plugin(Bolt::Plugin::Pkcs7.new(config.boltdir.path, config.plugins['pkcs7'] || {}))
  plugins.add_plugin(Bolt::Plugin::Task.new(config))
  plugins
end

Instance Method Details

#add_plugin(plugin) ⇒ Object



32
33
34
# File 'lib/bolt/plugin.rb', line 32

def add_plugin(plugin)
  @plugins[plugin.name] = plugin
end

#by_name(plugin_name) ⇒ Object



40
41
42
# File 'lib/bolt/plugin.rb', line 40

def by_name(plugin_name)
  @plugins[plugin_name]
end

#for_hook(hook) ⇒ Object



36
37
38
# File 'lib/bolt/plugin.rb', line 36

def for_hook(hook)
  @plugins.filter { |_n, plug| plug.hooks.include? hook }
end