Class: Bolt::Plugin

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

Defined Under Namespace

Classes: Puppetdb, Terraform

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_config) ⇒ Plugin

Returns a new instance of Plugin.



15
16
17
# File 'lib/bolt/plugin.rb', line 15

def initialize(_config)
  @plugins = {}
end

Class Method Details

.setup(config, pdb_client) ⇒ Object



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

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
end

Instance Method Details

#add_plugin(plugin) ⇒ Object



19
20
21
# File 'lib/bolt/plugin.rb', line 19

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

#by_name(plugin_name) ⇒ Object



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

def by_name(plugin_name)
  @plugins[plugin_name]
end

#for_hook(hook) ⇒ Object



23
24
25
# File 'lib/bolt/plugin.rb', line 23

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