Method: AnyStyle::Format::BibTeX#names_to_bibtex

Defined in:
lib/anystyle/format/bibtex.rb

#names_to_bibtex(hash, role) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/anystyle/format/bibtex.rb', line 47

def names_to_bibtex(hash, role)
  if hash.key?(role)
    hash[role] = hash[role].map { |name|
      case
      when name.key?(:literal)
        name[:literal]
      when name.key?(:family) || name.key?(:given)
        name.values_at(:family, :suffix, :given).compact.join(', ')
      else
        nil
      end
    }.compact.join(' and ')
  end
end