Sha256: 7b49ea0852dfac14a368bc8f9be54b97e083bc9736b4b284ba850a1185a324d1

Contents?: true

Size: 1.94 KB

Versions: 41

Compression:

Stored size: 1.94 KB

Contents

# unpack voucher
# Reader - ADIwg JSON to internal data structure

# History:
#  Stan Smith 2018-06-27 refactored error and warning messaging
#  Stan Smith 2016-10-21 original script

require_relative 'module_responsibleParty'

module ADIWG
   module Mdtranslator
      module Readers
         module MdJson

            module Voucher

               def self.unpack(hVoucher, responseObj)

                  @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson

                  # return nil object if input is empty
                  if hVoucher.empty?
                     @MessagePath.issueWarning(940, responseObj)
                     return nil
                  end

                  # instance classes needed in script
                  intMetadataClass = InternalMetadata.new
                  intVoucher = intMetadataClass.newTaxonVoucher

                  outContext = 'taxon voucher'

                  # voucher - specimen (required)
                  if hVoucher.has_key?('specimen')
                     intVoucher[:specimen] = hVoucher['specimen']
                  end
                  if intVoucher[:specimen].nil? || intVoucher[:specimen] == ''
                     @MessagePath.issueError(941, responseObj)
                  end

                  # voucher - repository (required)
                  if hVoucher.has_key?('repository')
                     hObject = hVoucher['repository']
                     unless hObject.empty?
                        hReturn = ResponsibleParty.unpack(hObject, responseObj, outContext)
                        unless hReturn.nil?
                           intVoucher[:repository] = hReturn
                        end
                     end
                  end
                  if intVoucher[:repository].empty?
                     @MessagePath.issueError(942, responseObj)
                  end

                  return intVoucher

               end

            end

         end
      end
   end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
adiwg-mdtranslator-2.21.0.pre.beta.1 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.20.0.pre.beta.10 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.20.0.pre.beta.9 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.20.0.pre.beta.8 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.20.0.pre.beta.7 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.20.0.pre.beta.6 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.31 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.30 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.29 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.28 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.27 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.26 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.13 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.12 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.11 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.10 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.9 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.8 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.19.0.pre.beta.7 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb
adiwg-mdtranslator-2.18.4 lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb