Sha256: 4a0150bfc25eade5e4248774f1a8ac3259729b3e3059a83e0b58ffee5bf1dc2f
Contents?: true
Size: 822 Bytes
Versions: 1
Compression:
Stored size: 822 Bytes
Contents
module Imagine class Plugins < Array def initialize @plugins = [] end def find_by_name(name) self.detect { |plugin| plugin.name == name } end alias :[] :find_by_name def names self.map(&:name) end def pathnames self.map(&:pathname).compact.uniq end class << self def active @active_plugins ||= self.new end def registered @registered_plugins ||= self.new end def activate(name) active << registered[name] if registered[name] && !active[name] end def deactivate(name) active.delete_if {|p| p.name == name} end def set_active(names) @active_plugins = self.new names.each do |name| activate(name) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
imagine-0.1.1 | lib/imagine/plugins.rb |