Method: MGit::PluginManager.setup
- Defined in:
- lib/m-git/plugin_manager.rb
.setup ⇒ Object
-
先加载本地源码插件
-
搜索加载gem插件
-
处理加载注入的插件
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/m-git/plugin_manager.rb', line 10 def self.setup lib_dir = File.dirname(__FILE__) plugins_dir = File.join(File.dirname(File.dirname(lib_dir)), 'plugins') load_local_plugin_dir('mgit', plugins_dir) load_local_plugin_dir('m-git', plugins_dir) load_gem_plugins('mgit') load_gem_plugins('m-git') inject_flag = '--inject='.freeze inject_arg = ::ARGV.find { |arg| arg.start_with?(inject_flag) } if inject_arg ::ARGV.delete(inject_arg) inject_file = inject_arg[inject_flag.length..-1] if !inject_file.start_with?('~') && !inject_file.start_with?('/') inject_file = File.join(Dir.pwd, inject_file) end inject_file = File.(inject_file) if File.exist?(inject_file) if File.file?(inject_file) require inject_file elsif File.directory?(inject_file) load_local_plugins('mgit', inject_file) load_local_plugins('m-git', inject_file) end end end end |