docs: def add_url_rule(self, url_rule, view_func, name, options=None):
          '''This method adds a URL rule for routing purposes. The
          provided name can be different from the view function name if
          desired. The provided name is what is used in url_for to build
          a URL.
  
          The route decorator provides the same functionality.
          '''
          name = '%s.%s' % (self._namespace, name)
  
          def register_rule(plugin, url_prefix):
              '''Registers a url rule for the provided plugin and
              url_prefix.
              '''
              full_url_rule = url_prefix + url_rule
              plugin.add_url_rule(full_url_rule, view_func, name, options)
  
          # Delay actual registration of the url rule until this module is
          # registered with a plugin
          self._register_funcs.append(register_rule)