Method: IsoDoc::Metadata#extract_person_names

Defined in:
lib/isodoc/metadata.rb

#extract_person_names(authors) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/isodoc/metadata.rb', line 27

def extract_person_names(authors)
  authors.inject([]) do |ret, a|
    if a.at(ns("./name/completename"))
      ret << a.at(ns("./name/completename")).text
    else
      fn = []
      forenames = a.xpath(ns("./name/forename"))
      forenames.each { |f| fn << f.text }
      surname = a&.at(ns("./name/surname"))&.text
      ret << fn.join(" ") + " " + surname
    end
  end
end