Class: OopsARake::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/oops_a_rake/registry.rb

Class Method Summary collapse

Class Method Details

.fetch(task_class) ⇒ Object



19
20
21
# File 'lib/oops_a_rake/registry.rb', line 19

def self.fetch(task_class)
  @tasks.fetch(task_class)
end

.register(task_class) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/oops_a_rake/registry.rb', line 8

def self.register(task_class)
  task_name = task_class.name.underscore.gsub("/", ":").delete_suffix("_task")

  task = Rake::Task.define_task(task_name) do |_, args|
    task_class.new.call(*args)
  end

  @tasks[task_class] = task
  task
end