code: function(_name, _serializer, _opt) {
        if(typeof _serializer === 'string') {
          _serializer = $injector.get(inflector.camelize(_serializer, true) + 'Serializer');
        }
  
        if(isFunction(_serializer)) _serializer = _serializer(_opt);
        if(_serializer.decode) this.attrDecoder(_name, bind(_serializer, _serializer.decode));
        if(_serializer.encode) this.attrEncoder(_name, bind(_serializer, _serializer.encode));
        return this;
      }
docs: @memberof ExtendedBuilderApi#
  
  @description Assigns a serializer to a given attribute.
  
  A _serializer is:
  * an object that defines both a `decode` and a `encode` method
  * a function that when called returns an object that matches the above description.
  * a string that represents an injectable that matches any of the above descriptions.
  
  @param {string} _name Attribute name
  @param {string|object|function} _serializer The serializer
  @return {BuilderApi} self