Class: Stupidedi::Values::RepeatedElementVal
Overview
Instance Attribute Summary collapse
Instance Method Summary
collapse
#element?, #size
Methods inherited from AbstractVal
#blank?, #characters, #component?, #composite?, #element?, #empty?, #functional_group?, #interchange?, #invalid?, #loop?, #present?, #segment?, #separator?, #simple?, #size, #table?, #transaction_set?, #transmission?, #valid?
Methods included from Color
ansi, #ansi
Methods included from Inspect
#inspect
Constructor Details
Returns a new instance of RepeatedElementVal.
21
22
23
24
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 21
def initialize(children, usage)
@children, @usage =
children, usage
end
|
Instance Attribute Details
13
14
15
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 13
def children
@children
end
|
Returns Schema::SimpleElementUse, Schema::CompositeElementUse.
17
18
19
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 17
def usage
@usage
end
|
Class Method Details
96
97
98
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 96
def build(children, element_use)
RepeatedElementVal.new(children, element_use)
end
|
91
92
93
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 91
def empty(element_use)
RepeatedElementVal.new([], element_use)
end
|
Instance Method Details
#==(other) ⇒ Boolean
79
80
81
82
83
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 79
def ==(other)
eql?(other)
(other.definition == definition and
other.children == @children)
end
|
27
28
29
30
31
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 27
def copy(changes = {})
RepeatedElementVal.new \
changes.fetch(:children, @children),
changes.fetch(:usage, @usage)
end
|
#definition ⇒ CompositeElementDef, SimpleElementDef
10
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 10
delegate :definition, :to => :@usage
|
#element(n, o = nil) ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 43
def element(n, o = nil)
unless n > 0
raise ArgumentError,
"n must be positive"
end
unless o.nil?
@children.at(n - 1).element(o)
else
@children.at(n - 1)
end
end
|
#leaf? ⇒ Boolean
34
35
36
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 34
def leaf?
false
end
|
#pretty_print(q) ⇒ void
This method returns an undefined value.
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 57
def pretty_print(q)
if @children.empty?
id = definition.try do |d|
ansi.bold("[#{d.id.to_s}: #{d.name.to_s}]")
end
q.text(ansi.repeated("RepeatedElementVal#{id}"))
else
q.text(ansi.repeated("RepeatedElementVal"))
q.group(2, "(", ")") do
q.breakable ""
@children.each do |e|
unless q.current_group.first?
q.text ", "
q.breakable
end
q.pp e
end
end
end
end
|
#repeated? ⇒ Boolean
39
40
41
|
# File 'lib/stupidedi/values/repeated_element_val.rb', line 39
def repeated?
true
end
|