Module: MFXcode::Plugins

Defined in:
lib/mfxcode/plugins/help.rb,
lib/mfxcode/plugins/addfile.rb,
lib/mfxcode/plugins/version.rb,
lib/mfxcode/plugins/core/core.rb,
lib/mfxcode/plugins/delfileref.rb,
lib/mfxcode/plugins/generateproj.rb

Overview

:nodoc: namespace

Defined Under Namespace

Classes: Addfile, Delfileref, Generateproj, Help, Version

Class Method Summary collapse

Class Method Details

.allObject



26
27
28
29
30
31
32
# 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) ⇒ Object



42
43
44
45
# 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) ⇒ Object



51
52
53
# File 'lib/mfxcode/plugins/core/core.rb', line 51

def self.help(plugin_name)
  self.get(plugin_name).help
end

.require(plugin_name) ⇒ Object



38
39
40
# File 'lib/mfxcode/plugins/core/core.rb', line 38

def self.require(plugin_name)
  Kernel.require "mfxcode/plugins/#{plugin_name}.rb"
end

.require_allObject



34
35
36
# File 'lib/mfxcode/plugins/core/core.rb', line 34

def self.require_all
  all.each { |plugin| self.require plugin }
end

.run(plugin_name, args) ⇒ Object



47
48
49
# File 'lib/mfxcode/plugins/core/core.rb', line 47

def self.run(plugin_name, args)
  self.get(plugin_name).run args
end