Class: Stupidedi::Schema::TransactionSetDef
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Inspect
#inspect
Methods inherited from AbstractDef
#component?, #composite?, #definition?, #element?, #functional_group?, #interchange?, #loop?, #repeated?, #segment?, #simple?, #table?, #transaction_set?, #usage?
Constructor Details
#initialize(functional_group, id, name, table_defs) ⇒ TransactionSetDef
Returns a new instance of TransactionSetDef.
21
22
23
24
25
26
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 21
def initialize(functional_group, id, name, table_defs)
@functional_group, @id, @name, @table_defs =
functional_group, id, name, table_defs
@table_defs = table_defs.map{|x| x.copy(:parent => self) }
end
|
Instance Attribute Details
#functional_group ⇒ String
16
17
18
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 16
def functional_group
@functional_group
end
|
#id ⇒ String
10
11
12
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 10
def id
@id
end
|
#name ⇒ String
13
14
15
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 13
def name
@name
end
|
#table_defs ⇒ Array<TableDef>
19
20
21
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 19
def table_defs
@table_defs
end
|
Class Method Details
.build(functional_group, id, name, *table_defs) ⇒ TransactionSetDef
84
85
86
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 84
def build(functional_group, id, name, *table_defs)
new(functional_group, id, name, table_defs)
end
|
Instance Method Details
#code_lists ⇒ AbstractSet<CodeList>
61
62
63
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 61
def code_lists
@table_defs.map(&:code_lists).inject(&:|)
end
|
#copy(changes = {}) ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 28
def copy(changes = {})
TransactionSetDef.new \
changes.fetch(:functional_group, @functional_group),
changes.fetch(:id, @id),
changes.fetch(:name, @name),
changes.fetch(:table_defs, @table_defs)
end
|
#entry_segment_use ⇒ SegmentUse
42
43
44
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 42
def entry_segment_use
@table_defs.head..head
end
|
#first_segment_use ⇒ SegmentUse
47
48
49
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 47
def first_segment_use
@table_defs.head..head
end
|
52
53
54
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 52
def last_segment_use
@table_defs.last.trailer_segment_uses.last
end
|
#pretty_print(q) ⇒ void
This method returns an undefined value.
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 66
def pretty_print(q)
q.text("TransactionSetDef[#{@functional_group}#{@id}]")
q.group(2, "(", ")") do
q.breakable ""
@table_defs.each do |e|
unless q.current_group.first?
q.text ","
q.breakable
end
q.pp e
end
end
end
|
#transaction? ⇒ Boolean
56
57
58
|
# File 'lib/stupidedi/schema/transaction_set_def.rb', line 56
def transaction?
true
end
|