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.
28
29
30
31
32
33
34
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 28
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
17
18
19
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 17
def
@header_segment_uses
end
|
#id ⇒ String
14
15
16
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 14
def id
@id
end
|
#trailer_segment_uses ⇒ Array<SegmentUse>
20
21
22
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 20
def trailer_segment_uses
@trailer_segment_uses
end
|
Instance Method Details
50
51
52
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 50
def children
@header_segment_uses + @trailer_segment_uses
end
|
#code_lists ⇒ AbstractSet<CodeList>
60
61
62
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 60
def code_lists
children.map(&:code_lists).inject(&:|)
end
|
37
38
39
40
41
42
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 37
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
|
23
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 23
abstract :empty, :args => %w(separators)
|
#entry_segment_use ⇒ SegmentUse
45
46
47
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 45
def entry_segment_use
@header_segment_uses.head
end
|
#interchange? ⇒ Boolean
55
56
57
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 55
def interchange?
true
end
|
#pretty_print(q) ⇒ void
This method returns an undefined value.
65
66
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
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 65
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
|
26
|
# File 'lib/stupidedi/schema/interchange_def.rb', line 26
abstract :separators, :args => %w(isa_segment_val)
|