whole_func_string: function makeAttributesString(tag, profile) {
  		var attrs = '';
  		var otherAttrs = [];
  		var attrQuote = profile.attributeQuote();
  		var cursor = profile.cursor();
  		
  		_.each(tag.attributeList(), function(a) {
  			var attrName = profile.attributeName(a.name);
  			switch (attrName.toLowerCase()) {
  				// use short notation for ID and CLASS attributes
  				case 'id':
  					attrs += '#' + (a.value || cursor);
  					break;
  				case 'class':
  					attrs += '.' + transformClassName(a.value || cursor);
  					break;
  				// process other attributes
  				default:
  					otherAttrs.push(':' +attrName + ' => ' + attrQuote + (a.value || cursor) + attrQuote);
  			}
  		});
  		
  		if (otherAttrs.length)
  			attrs += '{' + otherAttrs.join(', ') + '}';
  		
  		return attrs;
  	}
func_code_string: function makeAttributesString(tag, profile) {
  		var attrs = '';
  		var otherAttrs = [];
  		var attrQuote = profile.attributeQuote();
  		var cursor = profile.cursor();
  		
  		_.each(tag.attributeList(), function(a) {
  			var attrName = profile.attributeName(a.name);
  			switch (attrName.toLowerCase()) {
  				// use short notation for ID and CLASS attributes
  				case 'id':
  					attrs += '#' + (a.value || cursor);
  					break;
  				case 'class':
  					attrs += '.' + transformClassName(a.value || cursor);
  					break;
  				// process other attributes
  				default:
  					otherAttrs.push(':' +attrName + ' => ' + attrQuote + (a.value || cursor) + attrQuote);
  			}
  		});
  		
  		if (otherAttrs.length)
  			attrs += '{' + otherAttrs.join(', ') + '}';
  		
  		return attrs;
  	}
func_documentation_string: Creates HAML attributes string from tag according to profile settings
  @param {AbbreviationNode} tag
  @param {Object} profile