module Support::Commands::CommandLoader

Public Class Methods

included(base) click to toggle source
# File lib/hecks/domain/templates/lib/support/commands/command_loader.rb, line 4
def self.included(base)
  return unless base.constants.include?(:Commands)
  base::Commands.constants.each do |constant|
    base.class_eval "
      def #{constant.to_s.underscore}!(*args, &block)
        Support::Commands::CommandRunner.run(
          Commands::#{constant}.new(self, *args), &block
        )
      end
    "
  end
end