lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_citation.rb in adiwg-mdtranslator-2.0.0rc5 vs lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_citation.rb in adiwg-mdtranslator-2.0.0rc6
- old
+ new
@@ -16,43 +16,42 @@
# title, {citation.title}
# uri, [] {citation.onlineResource[]}
def self.build(hCitation)
citation = ''
+ role = ''
# names
- indexes = []
+ aIndexes = []
hCitation[:responsibleParties].each do |hResponsibility|
+ role = hResponsibility[:roleName]
hResponsibility[:parties].each do |hParty|
- indexes << hParty[:contactIndex]
+ party = {}
+ party[:role] = role
+ party[:index] = hParty[:contactIndex]
+ aIndexes << party
hParty[:organizationMembers].each do |hMember|
- indexes << hMember[:contactIndex]
+ party = {}
+ party[:role] = role
+ party[:index] = hMember[:contactIndex]
+ aIndexes << party
end
end
end
- indexes.uniq!
- indexes.each do |index|
- hContact = ADIWG::Mdtranslator::Writers::SbJson.getContact(index)
+ aIndexes.uniq!
+ aIndexes.each do |hIndex|
+ hContact = ADIWG::Mdtranslator::Writers::SbJson.getContact(hIndex[:index])
unless hContact.empty?
unless hContact[:name].nil?
- citation += hContact[:name] + ', '
+ citation += hContact[:name] + '(' + hIndex[:role] + '), '
end
end
end
# dates
hCitation[:dates].each do |hDate|
- date = hDate[:date]
- dateRes = hDate[:dateResolution]
- unless date.nil?
- case dateRes
- when 'Y', 'YM', 'YMD'
- dateStr = AdiwgDateTimeFun.stringDateFromDateTime(date, dateRes)
- else
- dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(date, dateRes)
- end
- citation += dateStr.to_s + '(' + hDate[:dateType] + '), '
- end
+ dateStr = AdiwgDateTimeFun.stringFromDateObject(hDate)
+ citation += dateStr + '(' + hDate[:dateType] + '), '
end
# title
citation += hCitation[:title] + ', '