def build_routename(cls, name, routename_prefix=None):
        """
        Given a ``name`` & an optional ``routename_prefix``, this generates a
        name for a URL.

        :param name: The name for the URL (ex. 'detail')
        :type name: string

        :param routename_prefix: (Optional) A prefix for the URL's name (for
            resolving). The default is ``None``, which will autocreate a prefix
            based on the class name. Ex: ``BlogPostResource`` ->
            ``api_blogpost_list``
        :type routename_prefix: string

        :returns: The final name
        :rtype: string
        """
        if routename_prefix is None:
            routename_prefix = 'api_{}'.format(
                cls.__name__.replace('Resource', '').lower()
            )

        routename_prefix = routename_prefix.rstrip('_')
        return '_'.join([routename_prefix, name])
Given a ``name`` & an optional ``routename_prefix``, this generates a
        name for a URL.

        :param name: The name for the URL (ex. 'detail')
        :type name: string

        :param routename_prefix: (Optional) A prefix for the URL's name (for
            resolving). The default is ``None``, which will autocreate a prefix
            based on the class name. Ex: ``BlogPostResource`` ->
            ``api_blogpost_list``
        :type routename_prefix: string

        :returns: The final name
        :rtype: string