module ADIWG::Mdtranslator::Readers::MdJson::Distribution
Public Class Methods
unpack(hDistribution, responseObj)
click to toggle source
# File lib/adiwg/mdtranslator/readers/mdJson/modules/module_distribution.rb, line 19 def self.unpack(hDistribution, responseObj) @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson # return nil object if input is empty if hDistribution.empty? @MessagePath.issueWarning(180, responseObj) return nil end # instance classes needed in script intMetadataClass = InternalMetadata.new intDistribution = intMetadataClass.newDistribution haveDist = false # distribution - description if hDistribution.has_key?('description') unless hDistribution['description'] == '' intDistribution[:description] = hDistribution['description'] haveDist = true end end # distribution - liability statement if hDistribution.has_key?('liabilityStatement') unless hDistribution['liabilityStatement'] == '' intDistribution[:liabilityStatement] = hDistribution['liabilityStatement'] end end # there is a typo in mdEditor for liabilityStatement, handle this edge case # https://github.com/adiwg/mdEditor/blob/f94770686df07ef76aa111f8f9734b32bbad7f21/app/pods/components/object/md-distribution/template.hbs#L22 if (intDistribution[:liabilityStatement].nil? || intDistribution.empty?) && hDistribution.has_key?('liablityStatement') unless hDistribution['liablityStatement'] == '' intDistribution[:liabilityStatement] = hDistribution['liablityStatement'] end end # distribution - distributor [distributor] if hDistribution.has_key?('distributor') aItems = hDistribution['distributor'] aItems.each do |item| hReturn = Distributor.unpack(item, responseObj) unless hReturn.nil? intDistribution[:distributor] << hReturn haveDist = true end end end # error messages unless haveDist @MessagePath.issueError(181, responseObj) end return intDistribution end