lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_transferOption.rb in adiwg-mdtranslator-1.4.0 vs lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_transferOption.rb in adiwg-mdtranslator-2.0.0rc2
- old
+ new
@@ -1,33 +1,39 @@
+# mdJson 2.0 writer - transfer option
+
+# History:
+# Stan Smith 2017-03-20 refactored for mdJson/mdTranslator 2.0
+# Josh Bradley original script
+
require 'jbuilder'
-require_relative 'mdJson_base'
require_relative 'mdJson_onlineResource'
+require_relative 'mdJson_medium'
+require_relative 'mdJson_duration'
require_relative 'mdJson_format'
module ADIWG
- module Mdtranslator
- module Writers
- module MdJson
- module TransferOption
- extend MdJson::Base
+ module Mdtranslator
+ module Writers
+ module MdJson
- def self.build(intObj)
- Jbuilder.new do |json|
- json.distributorFormat json_map(intObj[:dist], Format)
- json.transferSize intObj[:transferSize]
- json.transferSizeUnits intObj[:transferSizeUnits]
- json.online json_map(intObj[:online], OnlineResource)
- json.offline do
- off = intObj[:offline]
- json.name off[:mediumType]
- json.mediumCapacity off[:mediumCapacity]
- json.mediumCapacityUnits off[:mediumCapacityUnits]
- json.mediumFormat off[:mediumFormat]
- json.mediumNote off[:mediumNote]
- end
- end
- end
- end
+ module TransferOption
+
+ @Namespace = ADIWG::Mdtranslator::Writers::MdJson
+
+ def self.build(hOption)
+
+ Jbuilder.new do |json|
+ json.unitsOfDistribution hOption[:unitsOfDistribution]
+ json.transferSize hOption[:transferSize]
+ json.onlineOption @Namespace.json_map(hOption[:onlineOptions], OnlineResource)
+ json.offlineOption @Namespace.json_map(hOption[:offlineOptions], Medium)
+ json.transferFrequency Duration.build(hOption[:transferFrequency]) unless hOption[:transferFrequency].empty?
+ json.distributionFormat @Namespace.json_map(hOption[:distributionFormats], Format)
+ end
+
+ end # build
+ end # TransferOption
+
+ end
end
- end
- end
+ end
end