module ADIWG::Mdtranslator::Writers::SbJson::Tag
Public Class Methods
build(intObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_tag.rb, line 29 def self.build(intObj) hResource = intObj[:metadata][:resourceInfo] aTags = [] # tags from resource type hResource[:resourceTypes].each do |hType| hTag = {} type = hType[:type] sbType = Codelists.codelist_adiwg2sb('scope_adiwg2sb', type) sbType = sbType.nil? ? type : sbType hTag[:type] = 'Resource Type' hTag[:name] = sbType aTags << hTag end # tags from keywords hResource[:keywords].each do |hThemeSet| theme = hThemeSet[:keywordType] scheme = nil hThesaurus = hThemeSet[:thesaurus] unless hThesaurus.empty? unless hThesaurus[:onlineResources].empty? scheme = hThesaurus[:onlineResources][0][:olResURI] end end hThemeSet[:keywords].each do |hKeywordObj| keyword = hKeywordObj[:keyword] if keyword.length > 80 if keyword.include?('>') aKeyList = keyword.split('>') aKeyList.each do |part| hTag = tag_from_keyword(theme, part, scheme) aTags << hTag end else hTag = tag_from_keyword(theme, keyword[0,76]+'...', scheme) aTags << hTag end else hTag = tag_from_keyword(theme, keyword, scheme) aTags << hTag end end end # tags from status hResource[:status].each do |status| hTag = {} hTag[:type] = 'Status' hTag[:name] = status aTags << hTag end # tags from repositories intObj[:metadataRepositories].each do |hRepo| unless hRepo[:citation].empty? tagName = nil tagName = hRepo[:citation][:title] unless hRepo[:citation][:title].nil? unless tagName.nil? hTag = {} hTag[:type] = 'Harvest Set' hTag[:name] = tagName aTags << hTag end end end if aTags.empty? return nil end aTags end
tag_from_keyword(theme, keyword, namespace)
click to toggle source
# File lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_tag.rb, line 18 def self.tag_from_keyword(theme, keyword, namespace) hTag = {} hTag[:type] = theme unless theme.nil? hTag[:name] = keyword hTag[:scheme] = namespace unless namespace.nil? if theme == 'isoTopicCategory' hTag[:type] = hTag[:scheme] = 'ISO 19115 Topic Category' end return hTag end