class DevopsToolkit::Runner

Public Class Methods

load_tasks() click to toggle source
# File lib/devops_toolkit/runner.rb, line 5
def self.load_tasks
  tasks_dir = File.expand_path(File.join(__dir__, 'tasks'))
  Dir.glob(File.join(tasks_dir, '**', '*.rb')).each do |thor_file|
    next if File.directory?(thor_file)
    require thor_file
    Thor::Util.load_thorfile(thor_file)
  end
  # define subcommands per task, by class
  # TODO change, no evals
  DevopsToolkit::Tasks.constants.select {|c| DevopsToolkit::Tasks.const_get(c).is_a? Class}.each do |klass_sym|
    klass = Object.const_get("DevopsToolkit::Tasks::#{klass_sym}")
    desc klass::COMMAND, klass::DESC
    subcommand klass::COMMAND, klass
  end

end