module OopsARake::Task
Public Class Methods
included(klass)
click to toggle source
# File lib/oops_a_rake/task.rb, line 5 def self.included(klass) klass.extend(ClassMethods) Registry::register(klass) end
with_options(name:)
click to toggle source
# File lib/oops_a_rake/task.rb, line 10 def self.with_options(name:) module_name = "#{name.gsub(":", "_").classify}ClassMethods" mod = const_set(module_name, Module.new) mod.define_singleton_method(:included) do |klass| klass.define_singleton_method(:task_name) { name } klass.extend(ClassMethods) Registry::register(klass) end mod end