Class: Harbor::PluginList
- Inherits:
-
Object
- Object
- Harbor::PluginList
- Includes:
- Enumerable
- Defined in:
- lib/harbor/plugin_list.rb
Instance Method Summary collapse
- #<<(plugin) ⇒ Object
- #clear ⇒ Object
- #each ⇒ Object
-
#initialize ⇒ PluginList
constructor
A new instance of PluginList.
- #size ⇒ Object
Constructor Details
#initialize ⇒ PluginList
Returns a new instance of PluginList.
6 7 8 |
# File 'lib/harbor/plugin_list.rb', line 6 def initialize @plugins = [] end |
Instance Method Details
#<<(plugin) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/harbor/plugin_list.rb', line 24 def <<(plugin) case plugin when String plugin = Harbor::Plugin::String.new(plugin) when Class raise ArgumentError.new("#{plugin} must be a Plugin") unless Plugin > plugin else raise ArgumentError.new("#{plugin} must include Harbor::AccessorInjector") unless AccessorInjector > plugin end @plugins << plugin end |
#clear ⇒ Object
20 21 22 |
# File 'lib/harbor/plugin_list.rb', line 20 def clear @plugins.clear end |
#each ⇒ Object
10 11 12 13 14 |
# File 'lib/harbor/plugin_list.rb', line 10 def each @plugins.each do |plugin| yield plugin end end |
#size ⇒ Object
16 17 18 |
# File 'lib/harbor/plugin_list.rb', line 16 def size @plugins.size end |