class Buildkite::Builder::PluginCollection
Attributes
plugin_manager[R]
Public Class Methods
new(plugin_manager)
click to toggle source
# File lib/buildkite/builder/plugin_collection.rb, line 6 def initialize(plugin_manager) @plugin_manager = plugin_manager @collection = [] end
Public Instance Methods
add(resource, options = nil)
click to toggle source
# File lib/buildkite/builder/plugin_collection.rb, line 11 def add(resource, options = nil) plugin = case resource when Symbol uri = plugin_manager.fetch(resource.to_s) raise ArgumentError, "Plugin `#{resource}` does not exist" unless uri Plugin.new(uri, options) when String Plugin.new(resource, options) when Plugin resource else raise ArgumentError, "Unknown plugin `#{resource.inspect}`" end @collection.push(plugin).last end
find(source)
click to toggle source
# File lib/buildkite/builder/plugin_collection.rb, line 31 def find(source) source_string = case source when String then source when Plugin then source.source else raise ArgumentError, "Unknown source #{source.inspect}" end @collection.select do |plugin| plugin.source == source_string end end
to_definition()
click to toggle source
# File lib/buildkite/builder/plugin_collection.rb, line 44 def to_definition @collection.map(&:to_h) end