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