Class: Harbor::PluginList

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/harbor/plugin_list.rb

Instance Method Summary collapse

Constructor Details

#initializePluginList

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

#clearObject



20
21
22
# File 'lib/harbor/plugin_list.rb', line 20

def clear
  @plugins.clear
end

#eachObject



10
11
12
13
14
# File 'lib/harbor/plugin_list.rb', line 10

def each
  @plugins.each do |plugin|
    yield plugin
  end
end

#sizeObject



16
17
18
# File 'lib/harbor/plugin_list.rb', line 16

def size
  @plugins.size
end