lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadataInfo.rb in adiwg-mdtranslator-1.4.0 vs lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadataInfo.rb in adiwg-mdtranslator-2.0.0rc2
- old
+ new
@@ -1,36 +1,46 @@
+# mdJson 2.0 writer - metadataInfo
+
+# History:
+# Stan Smith 2017-03-11 refactored for mdJson/mdTranslator 2.0
+# Josh Bradley original script
+
require 'jbuilder'
-require_relative 'mdJson_base'
+require_relative 'mdJson_identifier'
require_relative 'mdJson_citation'
-require_relative 'mdJson_resourceIdentifier'
-require_relative 'mdJson_responsibleParty'
require_relative 'mdJson_locale'
-require_relative 'mdJson_resourceMaintenance'
+require_relative 'mdJson_date'
+require_relative 'mdJson_responsibleParty'
+require_relative 'mdJson_onlineResource'
+require_relative 'mdJson_maintenance'
module ADIWG
- module Mdtranslator
- module Writers
- module MdJson
- module MetadataInfo
- extend MdJson::Base
+ module Mdtranslator
+ module Writers
+ module MdJson
- def self.build(_info)
- Jbuilder.new do |json|
- unless _info[:metadataId].nil?
- json.metadataIdentifier ResourceIdentifier.build(_info[:metadataId])
- json.parentMetadata Citation.build(_info[:parentMetadata])
- json.metadataContact json_map(_info[:metadataCustodians], ResponsibleParty)
- json.metadataCharacterSet _info[:metadataCharacterSet]
- json.metadataLocales json_map(_info[:metadataLocales], Locale)
- json.metadataCreationDate _info[:metadataCreateDate][:dateTime]
- json.metadataLastUpdate _info[:metadataUpdateDate][:dateTime]
- json.metadataUri _info[:metadataURI]
- json.metadataStatus _info[:metadataStatus]
- json.metadataMaintenance ResourceMaintenance.build( _info[:maintInfo])
- end
- end
- end
- end
+ module MetadataInfo
+
+ @Namespace = ADIWG::Mdtranslator::Writers::MdJson
+
+ def self.build(hMetaInfo)
+
+ Jbuilder.new do |json|
+ json.metadataIdentifier Identifier.build(hMetaInfo[:metadataIdentifier]) unless hMetaInfo[:metadataIdentifier].empty?
+ json.parentMetadata Citation.build(hMetaInfo[:parentMetadata])
+ json.defaultMetadataLocale Locale.build(hMetaInfo[:defaultMetadataLocale]) unless hMetaInfo[:defaultMetadataLocale].empty?
+ json.otherMetadataLocale @Namespace.json_map(hMetaInfo[:otherMetadataLocales], Locale)
+ json.metadataContact @Namespace.json_map(hMetaInfo[:metadataContacts], ResponsibleParty)
+ json.metadataDate @Namespace.json_map(hMetaInfo[:metadataDates], Date)
+ json.metadataOnlineResource @Namespace.json_map(hMetaInfo[:metadataLinkages], OnlineResource)
+ json.metadataMaintenance Maintenance.build(hMetaInfo[:metadataMaintenance]) unless hMetaInfo[:metadataMaintenance].empty?
+ json.alternateMetadataReference @Namespace.json_map(hMetaInfo[:alternateMetadataReferences], Citation)
+ json.metadataStatus hMetaInfo[:metadataStatus]
+ end
+
+ end # build
+ end # MetadataInfo
+
+ end
end
- end
- end
+ end
end