class Smartdict::Core::PluginManager
Public Class Methods
load_plugins()
click to toggle source
# File lib/smartdict/core/plugin_manager.rb, line 4 def self.load_plugins require_plugins run_initializers end
Private Class Methods
require_plugin(plugin_name)
click to toggle source
# File lib/smartdict/core/plugin_manager.rb, line 19 def self.require_plugin(plugin_name) $LOAD_PATH << "#{Smartdict.plugins_dir}/#{plugin_name}/lib" require plugin_name rescue LoadError log.error "Can't load plugin `#{plugin_name}` from directory #{Smartdict.plugins_dir}" $LOAD_PATH.pop end
require_plugins()
click to toggle source
# File lib/smartdict/core/plugin_manager.rb, line 12 def self.require_plugins Dir["#{Smartdict.plugins_dir}/*"].each do |plugin_dir| plugin_name = File.basename plugin_dir require_plugin(plugin_name) end end
run_initializers()
click to toggle source
# File lib/smartdict/core/plugin_manager.rb, line 27 def self.run_initializers all.each do |name, data| Smartdict::Plugin::InitializerContext.new.instance_eval &data[:block] end end