module Eancom module Edifact class FTX < Segment TAG = 'FTX'.freeze TYPE = :body.freeze attr_reader :segment_type def initialize( tag: nil, text_subject_code_qualifier:, free_text_function_code: nil, free_text_value_code: nil, code_list_identification_code: nil, code_list_responsible_agency_code: nil, free_text_value_1: nil, free_text_value_2: nil, free_text_value_3: nil, free_text_value_4: nil, free_text_value_5: nil ) @tag = tag @text_subject_code_qualifier = text_subject_code_qualifier @free_text_function_code = free_text_function_code @free_text_value_code = free_text_value_code @code_list_identification_code = code_list_identification_code @code_list_responsible_agency_code = code_list_responsible_agency_code @free_text_value_1 = free_text_value_1 @free_text_value_2 = free_text_value_2 @free_text_value_3 = free_text_value_3 @free_text_value_4 = free_text_value_4 @free_text_value_5 = free_text_value_5 super(tag: tag || TAG) end def to_json_hash hash = {} hash.merge!(text_subject_code_qualifier: @text_subject_code_qualifier) if @text_subject_code_qualifier hash.merge!(free_text_function_code: find_identifier(:free_text_function_code)) if @free_text_function_code hash.merge!(free_text_value_code: find_identifier(:free_text_value_code)) if @free_text_value_code hash.merge!(code_list_identification_code: @code_list_identification_code) if @code_list_identification_code hash.merge!(code_list_responsible_agency_code: find_identifier(:code_list_responsible_agency_code)) if @code_list_responsible_agency_code hash.merge!(free_text_value_1: @free_text_value_1) if @free_text_value_1 hash.merge!(free_text_value_2: @free_text_value_2) if @free_text_value_2 hash.merge!(free_text_value_3: @free_text_value_3) if @free_text_value_3 hash.merge!(free_text_value_4: @free_text_value_4) if @free_text_value_4 hash.merge!(free_text_value_5: @free_text_value_5) if @free_text_value_5 hash end def segment_type TYPE end def group_name 'free_texts' end end end end