class Djin::CLI
Public Class Methods
load_tasks!(tasks)
click to toggle source
# File lib/djin/cli.rb, line 7 def self.load_tasks!(tasks) tasks.each do |task| command = Class.new(Dry::CLI::Command) do desc task.description define_method(:task) { task } def call(**) Executor.new.call(task) # TODO: Extract error handling output (the same logic is used in djin.rb) rescue Djin::TaskError => e error_name = e.class.name.split('::').last abort("[#{error_name}] #{e.message}") end end register(task.name, command, aliases: task.aliases) end end
Public Instance Methods
call(**)
click to toggle source
# File lib/djin/cli.rb, line 14 def call(**) Executor.new.call(task) # TODO: Extract error handling output (the same logic is used in djin.rb) rescue Djin::TaskError => e error_name = e.class.name.split('::').last abort("[#{error_name}] #{e.message}") end