Class: Eancom::Edifact::TAX

Inherits:
Segment
  • Object
show all
Defined in:
lib/eancom/edifact/segments/tax.rb

Constant Summary collapse

TAG =
'TAX'.freeze
TYPE =
:body.freeze

Instance Attribute Summary collapse

Attributes inherited from Segment

#tag

Instance Method Summary collapse

Methods inherited from Segment

#array, initialize_by_components, #is_body?, #is_footer?, #is_header?, #item_group_name, #starts_item?, #starts_location?, #starts_message?, #structure, #tag?, #to_edi, #to_hash, #to_s, #validate_structure

Constructor Details

#initialize(tag: nil, duty_or_tax_or_fee_function_code_qualifier:, duty_or_tax_or_fee_name_code:, code_list_identification_code_1: nil, code_list_responsibility_agency_code_1: nil, duty_or_tax_or_fee_type_name: nil, duty_or_tax_or_fee_account_code: nil, code_list_identification_code_2: nil, code_list_responsibility_agency_code_2: nil, duty_or_tax_of_fee_assessment_basis_value: nil, duty_tax_fee_rate_code: nil, code_list_identification_code_3: nil, code_list_responsibility_agency_code_3: nil, duty_or_tax_or_fee_rate: nil, duty_or_tax_or_fee_basis_code: nil, code_list_identification_code_4: nil, code_list_responsibility_agency_code_4: nil, duty_or_tax_or_fee_category_code: nil) ⇒ TAX

Returns a new instance of TAX.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/eancom/edifact/segments/tax.rb', line 9

def initialize(
  tag: nil,
  duty_or_tax_or_fee_function_code_qualifier:,
  duty_or_tax_or_fee_name_code:,
  code_list_identification_code_1: nil,
  code_list_responsibility_agency_code_1: nil,
  duty_or_tax_or_fee_type_name: nil,
  duty_or_tax_or_fee_account_code: nil,
  code_list_identification_code_2: nil,
  code_list_responsibility_agency_code_2: nil,
  duty_or_tax_of_fee_assessment_basis_value: nil,
  duty_tax_fee_rate_code: nil,
  code_list_identification_code_3: nil,
  code_list_responsibility_agency_code_3: nil,
  duty_or_tax_or_fee_rate: nil,
  duty_or_tax_or_fee_basis_code: nil,
  code_list_identification_code_4: nil,
  code_list_responsibility_agency_code_4: nil,
  duty_or_tax_or_fee_category_code: nil
)
  @tag = tag
  @duty_or_tax_or_fee_function_code_qualifier = duty_or_tax_or_fee_function_code_qualifier
  @duty_or_tax_or_fee_name_code = duty_or_tax_or_fee_name_code
  @code_list_identification_code_1 = code_list_identification_code_1
  @code_list_responsibility_agency_code_1 = code_list_responsibility_agency_code_1
  @duty_or_tax_or_fee_type_name = duty_or_tax_or_fee_type_name
  @duty_or_tax_or_fee_account_code = 
  @code_list_identification_code_2 = code_list_identification_code_2
  @code_list_responsibility_agency_code_2 = code_list_responsibility_agency_code_2
  @duty_or_tax_of_fee_assessment_basis_value = duty_or_tax_of_fee_assessment_basis_value
  @duty_tax_fee_rate_code = duty_tax_fee_rate_code
  @code_list_identification_code_3 = code_list_identification_code_3
  @code_list_responsibility_agency_code_3 = code_list_responsibility_agency_code_3
  @duty_or_tax_or_fee_rate = duty_or_tax_or_fee_rate
  @duty_or_tax_or_fee_basis_code = duty_or_tax_or_fee_basis_code
  @code_list_identification_code_4 = code_list_identification_code_4
  @code_list_responsibility_agency_code_4 = code_list_responsibility_agency_code_4
  @duty_or_tax_or_fee_category_code = duty_or_tax_or_fee_category_code

  super(tag: tag || TAG)
end

Instance Attribute Details

#segment_typeObject (readonly)

Returns the value of attribute segment_type.



7
8
9
# File 'lib/eancom/edifact/segments/tax.rb', line 7

def segment_type
  @segment_type
end

Instance Method Details

#group_nameObject



62
63
64
# File 'lib/eancom/edifact/segments/tax.rb', line 62

def group_name
  'taxes'
end

#to_json_hashObject



51
52
53
54
55
56
57
58
59
60
# File 'lib/eancom/edifact/segments/tax.rb', line 51

def to_json_hash
  hash = {}
  hash.merge!(duty_or_tax_or_fee_name_code: find_identifier(:duty_or_tax_or_fee_name_code)) if @duty_or_tax_or_fee_name_code
  hash.merge!(duty_or_tax_or_fee_rate: @duty_or_tax_or_fee_rate) if @duty_or_tax_or_fee_rate
  hash.merge!(duty_or_tax_or_fee_category_code: find_identifier(:duty_or_tax_or_fee_category_code)) if @duty_or_tax_or_fee_category_code
  outer_hash = {}
  identifier = find_identifier(:duty_or_tax_or_fee_function_code_qualifier)
  outer_hash[identifier] = hash
  outer_hash
end