code: def add_views(cls, config, rule_prefix, routename_prefix=None):
          
          methods = ('GET', 'POST', 'PUT', 'DELETE')
  
          config.add_route(
              cls.build_routename('list', routename_prefix),
              rule_prefix
          )
          config.add_view(
              cls.as_list(),
              route_name=cls.build_routename('list', routename_prefix),
              request_method=methods
          )
  
          config.add_route(
              cls.build_routename('detail', routename_prefix),
              rule_prefix + '{name}/'
          )
          config.add_view(
              cls.as_detail(),
              route_name=cls.build_routename('detail', routename_prefix),
              request_method=methods
          )
          return config
docs: A convenience method for registering the routes and views in pyramid.
  
          This automatically adds a list and detail endpoint to your routes.
  
          :param config: The pyramid ``Configurator`` object for your app.
          :type config: ``pyramid.config.Configurator``
  
          :param rule_prefix: The start of the URL to handle.
          :type rule_prefix: string
  
          :param routename_prefix: (Optional) A prefix for the route's name.
              The default is ``None``, which will autocreate a prefix based on the
              class name. Ex: ``PostResource`` -> ``api_post_list``
          :type routename_prefix: string
  
          :returns: ``pyramid.config.Configurator``