Class: Stupidedi::Schema::InterchangeDef
Overview
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Inspect
#inspect
Methods inherited from AbstractDef
#component?, #composite?, #definition?, #element?, #functional_group?, #loop?, #repeated?, #segment?, #simple?, #table?, #transaction_set?, #usage?
Constructor Details
#initialize(id, header_segment_uses, trailer_segment_uses) ⇒ InterchangeDef
30
31
32
33
34
35
36
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 30
def initialize(id, , trailer_segment_uses)
@id, , @trailer_segment_uses =
id, , trailer_segment_uses
= .map{|x| x.copy(:parent => self) }
@trailer_segment_uses = trailer_segment_uses.map{|x| x.copy(:parent => self) }
end
|
Instance Attribute Details
19
20
21
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 19
def
end
|
#id ⇒ String
16
17
18
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 16
def id
@id
end
|
#trailer_segment_uses ⇒ Array<SegmentUse>
22
23
24
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 22
def trailer_segment_uses
@trailer_segment_uses
end
|
Instance Method Details
52
53
54
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 52
def children
+ @trailer_segment_uses
end
|
#code_lists ⇒ AbstractSet<CodeList>
62
63
64
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 62
def code_lists
children.map(&:code_lists).inject(&:|)
end
|
39
40
41
42
43
44
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 39
def copy(changes = {})
InterchangeDef.new \
changes.fetch(:id, @id),
changes.fetch(:header_segment_uses, ),
changes.fetch(:trailer_segment_uses, @trailer_segment_uses)
end
|
25
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 25
abstract :empty, :args => %w(separators)
|
#entry_segment_use ⇒ SegmentUse
47
48
49
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 47
def entry_segment_use
.head
end
|
#interchange? ⇒ Boolean
57
58
59
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 57
def interchange?
true
end
|
#pretty_print(q) ⇒ void
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 67
def pretty_print(q)
q.text("InterchangeDef[#{id}]")
q.group(2, "(", ")") do
q.breakable ""
.each do |e|
unless q.current_group.first?
q.text ","
q.breakable
end
q.pp e
end
unless q.current_group.first?
q.text ","
q.breakable
end
q.text "... (FUNCTIONAL GROUPS) ..."
@trailer_segment_uses.each do |e|
unless q.current_group.first?
q.text ","
q.breakable
end
q.pp e
end
end
end
|
28
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 28
abstract :separators, :args => %w(isa_segment_val)
|