Sha256: 28b94aaf31bc3cb4fb2dbd1bcb6970b9b81e311a26b261e8418c62898f0bd927

Contents?: true

Size: 1020 Bytes

Versions: 2

Compression:

Stored size: 1020 Bytes

Contents

module Eancom
  module Edifact
    class PCD < Segment
      TAG = 'PCD'.freeze
      TYPE = :body.freeze

      attr_reader :segment_type

      def initialize(
        tag: nil,
        percentage_type_code_qualifier:,
        percentage:,
        code_list_identification_code: nil,
        code_list_responsibility_agency_code: nil
      )
        @tag = tag
        @percentage_type_code_qualifier = percentage_type_code_qualifier
        @percentage = percentage
        @code_list_identification_code = code_list_identification_code
        @code_list_responsibility_agency_code = code_list_responsibility_agency_code

        super(tag: tag || TAG)
      end

      def to_json_hash
        hash = {
          'percentage_type_code_qualifier': percentage_type,
          'percentage': percentage
        }
      end

      def segment_type
        TYPE
      end

      private

      def percentage_type
        @percentage_type ||= find_identifier(:percentage_type_code_qualifier)
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eancom-1.6.3 lib/eancom/edifact/segments/pcd.rb
eancom-1.6.2 lib/eancom/edifact/segments/pcd.rb