module MFXcode::Plugins
Plugin management logic.
Public Class Methods
all()
click to toggle source
# File lib/mfxcode/plugins/core/core.rb, line 26 def self.all plugin_dir = File.join(File.dirname(__FILE__), '..') plugins = Dir.entries(plugin_dir).select { |entry| /^[^_].*\.rb$/ =~ entry }.map { |entry| entry[0..-4] } return Set.new(plugins) end
get(plugin_name)
click to toggle source
# File lib/mfxcode/plugins/core/core.rb, line 42 def self.get(plugin_name) self.require plugin_name Plugins.const_get(plugin_name.capitalize).new end
help(plugin_name)
click to toggle source
# File lib/mfxcode/plugins/core/core.rb, line 51 def self.help(plugin_name) self.get(plugin_name).help end
require(plugin_name)
click to toggle source
# File lib/mfxcode/plugins/core/core.rb, line 38 def self.require(plugin_name) Kernel.require "mfxcode/plugins/#{plugin_name}.rb" end
require_all()
click to toggle source
# File lib/mfxcode/plugins/core/core.rb, line 34 def self.require_all all.each { |plugin| self.require plugin } end
run(plugin_name, args)
click to toggle source
# File lib/mfxcode/plugins/core/core.rb, line 47 def self.run(plugin_name, args) self.get(plugin_name).run args end