class Mvn2::RunnerTypes

Public Class Methods

def_runner() click to toggle source
# 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