Module: ADIWG::Mdtranslator::Writers::SbJson::Citation
- Defined in:
- lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_citation.rb
Class Method Summary collapse
-
.build(hCitation) ⇒ Object
build from citation as follows …
Class Method Details
.build(hCitation) ⇒ Object
build from citation as follows … names, [] citationcitation.responsibleParty[] dates(type), [] citationcitation.dates[] title, citationcitation.title uri, [] citationcitation.onlineResource[]
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_citation.rb', line 20 def self.build(hCitation) citation = '' # names aParties = [] hCitation[:responsibleParties].each do |hResponsibility| role = hResponsibility[:roleName] hResponsibility[:parties].each do |hParty| party = {} party[:role] = role party[:contactId] = hParty[:contactId] aParties << party hParty[:organizationMembers].each do |memberId| party = {} party[:role] = role party[:contactId] = memberId aParties << party end end end aParties.uniq! aParties.each do |hParty| hContact = ADIWG::Mdtranslator::Writers::SbJson.get_contact_by_id(hParty[:contactId]) unless hContact.empty? unless hContact[:name].nil? sbRole = Codelists.codelist_adiwg2sb('role_adiwg2sb', hParty[:role]) sbRole = sbRole.nil? ? hParty[:role] : sbRole citation += hContact[:name] + '(' + sbRole + '), ' end end end # dates hCitation[:dates].each do |hDate| dateStr = AdiwgDateTimeFun.stringDateFromDateObject(hDate) dateType = Codelists.codelist_adiwg2sb('date_adiwg2sb', hDate[:dateType]) unless dateType.nil? citation += dateStr + '(' + dateType + '), ' end end # title citation += hCitation[:title] + ', ' # uri hCitation[:onlineResources].each do |hOnline| citation += hOnline[:olResURI] + ', ' end # clean off last comma if citation.length > 0 citation = citation[0...-2] end citation end |