module Opal::CliRunners

def self.[](name)

def self.[](name)
  @register[name.to_sym]&.call
end

def self.[]=(name, runner)

Other tags:
    Private: -
def self.[]=(name, runner)
  warn "Overwriting Opal CLI runner: #{name}" if @register.key? name.to_sym
  @register[name.to_sym] = runner
end

def self.alias_runner(new_name, old_name)

Alias a runner name
def self.alias_runner(new_name, old_name)
  self[new_name.to_sym] = -> { self[old_name.to_sym] }
  nil
end

def self.register_runner(name, runner, path = nil)

Parameters:
  • path (nil, String) -- a path for setting up autoload on the constant
  • runner (Symbol) -- a constant name that once autoloaded will point to
  • runner (#call) -- a callable object that will act as the "runner"
  • name (Symbol) -- the name at which the runner can be reached
def self.register_runner(name, runner, path = nil)
  autoload runner, path if path
  @runners.push(runner.to_s)
  if runner.respond_to? :call
    self[name] = -> { runner }
  else
    self[name] = -> { const_get(runner) }
  end
  nil
end

def self.registered_runners

def self.registered_runners
  @runners
end

def self.to_h

def self.to_h
  @register
end