Module: PluggableLite::PluginManager

Defined in:
lib/pluggable_lite.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(kclass) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/pluggable_lite.rb', line 6

def self.extended(kclass)
  kclass.class_eval <<-EOS
    def self.plugins
      @@_plugins ||= []
    end
  EOS
end

Instance Method Details

#load(path) ⇒ Object



14
15
16
17
18
# File 'lib/pluggable_lite.rb', line 14

def load(path)
  Dir.glob(File.join(path, "*.rb")).each do |plugin|
    require File.join ".", "#{plugin}"
  end
end

#register(kclass) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/pluggable_lite.rb', line 20

def register(kclass)
  kclass.class_eval <<-EOS
    def self.plugin_manager
      #{self}
    end
  EOS
end