Class: Mvn2::RunnerTypes

Inherits:
Object
  • Object
show all
Extended by:
PluginType, TypeHelper
Defined in:
lib/mvn2/plugin.rb

Class Method Summary collapse

Class Method Details

.def_runnerObject



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/mvn2/plugin.rb', line 89

def self.def_runner
  register_type(:runner_enable) { |list, key| basic_type(list.select { |v| v[:options][:key] == key }) }

  register_type(:runner) { |list|
    options, cmd = Plugins.get_vars :options, :cmd
    Plugins.set_var :result, false
    list.sort_by { |v| -v[:options][:priority] }.each { |item|
      if Plugins.get(:runner_enable, item[:options][:key])
        Plugins.set_var :runner, item[:options][:key]
        Plugins.set_var :result, item[:block].call(options, cmd)
        break
      end
    }
    Plugins.get_var :result
  }
end