Class: Bolt::Plugin

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

Defined Under Namespace

Classes: Prompt, Puppetdb, Terraform

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_config) ⇒ Plugin

Returns a new instance of Plugin.



17
18
19
# File 'lib/bolt/plugin.rb', line 17

def initialize(_config)
  @plugins = {}
end

Class Method Details

.setup(config, pdb_client) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/bolt/plugin.rb', line 9

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)
  plugins
end

Instance Method Details

#add_plugin(plugin) ⇒ Object



21
22
23
# File 'lib/bolt/plugin.rb', line 21

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

#by_name(plugin_name) ⇒ Object



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

def by_name(plugin_name)
  @plugins[plugin_name]
end

#for_hook(hook) ⇒ Object



25
26
27
# File 'lib/bolt/plugin.rb', line 25

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