code: function(string) {
      var name = this._name;
      var singular = inflection.singularize(name);
      var plural = inflection.pluralize(singular);
      var singularCapitalized = _.capitalize(singular);
      var pluralCapitalized = _.capitalize(plural);
      return string
        .replace('<singular>', singular)
        .replace('<Singular>', singularCapitalized)
        .replace('<plural>', plural)
        .replace('<Plural>', pluralCapitalized);
    }
docs: Process template placeholders within the names of overrides. For instance,
  when a relation has a name of 'article', this method would result in the
  following:
  
  template('<singular>Id') // => 'articleId'
  template('<plural>Where') // => 'articlesWhere'
  template('save<Singluar>') // => 'saveArticle'
  template('save<Plural>') // => 'saveArticles'
  
  Subclasses can override this method to provide additional templating
  capabilities.
  
  @method
  @private
  @param {String} string The string to process templates for.
  @return {String} The templated string.