Sha256: c3ddf235d663673fe0bc4ecb19ac8a7643d582b9de32ffc3d447d82886ec5c3c

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

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

      attr_reader :segment_type

      def initialize(
        tag: nil,
        marking_instructions_code:,
        marks_and_labels_code: nil,
        container_or_package_contents_indicator_mode: nil
      )

        @tag = tag
        @marking_instructions_code = marking_instructions_code
        @marks_and_labels_code = marks_and_labels_code
        @container_or_package_contents_indicator_mode = container_or_package_contents_indicator_mode
        super(tag: tag || TAG)
      end

      def to_json_hash
        hash = {}
        hash.merge!(marking_instructions_code: find_identifier(:marking_instructions_code)) if @marking_instructions_code
        hash.merge!(marks_and_labels_code: @marks_and_labels_code) if @marks_and_labels_code
        hash.merge!(container_or_package_contents_indicator_mode: @container_or_package_contents_indicator_mode) if @container_or_package_contents_indicator_mode
        hash
      end

      def group_name
        'package_identification'
      end

      def segment_type
        TYPE
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
eancom-2.0.0 lib/eancom/edifact/segments/pci.rb