module Warg::Command::CommandMissingHook

Public Instance Methods

const_missing(class_name) click to toggle source
Calls superclass method
# File lib/warg.rb, line 1876
def const_missing(class_name)
  loaded = false

  command_name = Name.new(class_name: class_name.to_s)
  path = "#{command_name.script.tr("-", "_")}.rb"

  Warg.search_paths.each do |warg_path|
    command_path = warg_path.join("commands", path)

    if command_path.exist?
      require command_path
      loaded = true
      break
    end
  end

  if loaded
    Object.const_get(class_name)
  else
    super
  end
end