lib/spina/plugin.rb in spina-0.8.3 vs lib/spina/plugin.rb in spina-0.9.0

- old
+ new

@@ -1,10 +1,28 @@ module Spina class Plugin - attr_accessor :name, :config + attr_accessor :name, :namespace - def to_s - name + class << self + + def all + ::Spina::PLUGINS + end + + def find_by_name(name) + all.find { |plugin| plugin.name == name } + end + + def register + plugin = new + yield plugin + raise 'Missing plugin name' if plugin.name.nil? + raise 'Missing plugin namespace' if plugin.namespace.nil? + all << plugin + plugin + end + end + end end