def merge_links_on(attribute, concat_string = ',')
      links_group_by(attribute)
           .select { |key, link_list| links.size > 1 }
           .map do |key, link_list| 
              merge_attributes = Link::ATTRS - [attribute]
              link_list.first
                   .update(Hash[extract_columns(link_list, merge_attributes)
                                .map { |c| c.uniq.join(concat_string) }
                                .collect { |v| [merge_attributes.shift, v] }])
              link_list.shift
              link_list.each { |link| links.delete(link) }
            end
    end
def merge_links_on(attribute, concat_string = ',')
      links_group_by(attribute)
           .select { |key, link_list| links.size > 1 }
           .map do |key, link_list| 
              merge_attributes = Link::ATTRS - [attribute]
              link_list.first
                   .update(Hash[extract_columns(link_list, merge_attributes)
                                .map { |c| c.uniq.join(concat_string) }
                                .collect { |v| [merge_attributes.shift, v] }])
              link_list.shift
              link_list.each { |link| links.delete(link) }
            end
    end
Merge links based on the provided attribue to one link by combining the
 values. The first link will be updated and the obsolete links are deleted
 and will be returned