Sha256: 0fde103eaaf312a1a0201c631be167cd2d93db9ecd5a055974b0e69bc3ae1d83

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

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

      attr_reader :segment_type

      def initialize(
        tag: nil,
        object_identification_code_qualifier:,
        object_identifier_1: nil,
        object_identifier_2: nil,
        object_identifier_3: nil,
        object_identifier_4: nil,
        object_identifier_5: nil
      )
        @tag = tag
        @object_identification_code_qualifier = object_identification_code_qualifier
        @object_identifier_1 = object_identifier_1
        @object_identifier_2 = object_identifier_2
        @object_identifier_3 = object_identifier_3
        @object_identifier_4 = object_identifier_4
        @object_identifier_5 = object_identifier_5

        super(tag: @tag || TAG)
      end

      def to_json_hash
        hash = {}
        hash.merge!(object_identification_code_qualifier: @object_identification_code_qualifier) if @object_identification_code_qualifier
        hash.merge!(object_identifier_1: @object_identifier_1) if @object_identifier_1
        hash.merge!(object_identifier_2: @object_identifier_2) if @object_identifier_2
        hash.merge!(object_identifier_3: @object_identifier_3) if @object_identifier_3
        hash.merge!(object_identifier_4: @object_identifier_4) if @object_identifier_4
        hash.merge!(object_identifier_5: @object_identifier_5) if @object_identifier_5
        hash
      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/gin.rb