def load_missing_constant_error(from_mod, const_name, e)
      # examples
      # - Api::PostsController
      # - PostsController
      qualified_name = qualified_name_for(from_mod, const_name)
      file_path = resource_path_from_qualified_name(qualified_name)

      begin
        return load_from_path(file_path, qualified_name, from_mod, const_name) if file_path
      rescue LoadError, NameError => e
        # Recurse!
        # not found, check the parent
        at_the_top = from_mod.parent == from_mod
        return load_missing_constant_error(from_mod.parent, const_name, e) unless at_the_top
        raise e
      end

      name_error = NameError.new(e.message)
      name_error.set_backtrace(caller.reject { |l| l.starts_with? __FILE__ })
      raise name_error
    end
def load_missing_constant_error(from_mod, const_name, e)
      # examples
      # - Api::PostsController
      # - PostsController
      qualified_name = qualified_name_for(from_mod, const_name)
      file_path = resource_path_from_qualified_name(qualified_name)

      begin
        return load_from_path(file_path, qualified_name, from_mod, const_name) if file_path
      rescue LoadError, NameError => e
        # Recurse!
        # not found, check the parent
        at_the_top = from_mod.parent == from_mod
        return load_missing_constant_error(from_mod.parent, const_name, e) unless at_the_top
        raise e
      end

      name_error = NameError.new(e.message)
      name_error.set_backtrace(caller.reject { |l| l.starts_with? __FILE__ })
      raise name_error
    end
the heavy lifting of Drawers is just
 adding some additional pathfinding / constat lookup logic
 when the default (super) can't find what needs to be found

 @param [Class] from_mod - parent module / class that const_name may be a part of
 @param [Symbol] const_name - potential constant to lookup under from_mod
 @param [Exception] e - exception from previous error