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
Returns a new instance of InterchangeDef.
30
31
32
33
34
35
36
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 30
def initialize(id, , trailer_segment_uses)
@id, @header_segment_uses, @trailer_segment_uses =
id, , trailer_segment_uses
@header_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
@header_segment_uses
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
@header_segment_uses + @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, @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
@header_segment_uses.head
end
|
#interchange? ⇒ Boolean
57
58
59
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 57
def interchange?
true
end
|
#pretty_print(q) ⇒ void
This method returns an undefined value.
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 ""
@header_segment_uses.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)
|