Class: Stupidedi::Versions::FunctionalGroups::TwoThousandOne::ElementTypes::SimpleElementDef
Instance Attribute Summary collapse
Instance Method Summary
collapse
#code_lists, #component_use, #composite?, #simple?, #simple_use
#code_lists, #element?
Methods included from Inspect
#inspect
#component?, #composite?, #definition?, #element?, #functional_group?, #interchange?, #loop?, #repeated?, #segment?, #simple?, #table?, #transaction_set?, #usage?
Constructor Details
#initialize(id, name, min_length, max_length, description = nil, parent = nil) ⇒ SimpleElementDef
Returns a new instance of SimpleElementDef.
33
34
35
36
37
38
39
40
41
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 33
def initialize(id, name, min_length, max_length, description = nil, parent = nil)
@id, @name, @min_length, @max_length, @description, @parent =
id, name, min_length, max_length, description, parent
if min_length > max_length
raise ArgumentError,
"min_length cannot be greater than max_length"
end
end
|
Instance Attribute Details
#description ⇒ String
19
20
21
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 19
def description
@description
end
|
#id ⇒ Symbol
13
14
15
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 13
def id
@id
end
|
#max_length ⇒ Integer
25
26
27
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 25
def max_length
@max_length
end
|
#min_length ⇒ Integer
22
23
24
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 22
def min_length
@min_length
end
|
#name ⇒ String
16
17
18
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 16
def name
@name
end
|
28
29
30
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 28
def parent
@parent
end
|
Instance Method Details
31
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 31
abstract :companion
|
44
45
46
47
48
49
50
51
52
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 44
def copy(changes = {})
self.class.new \
changes.fetch(:id, @id),
changes.fetch(:name, @name),
changes.fetch(:min_length, @min_length),
changes.fetch(:max_length, @max_length),
changes.fetch(:description, @description),
changes.fetch(:parent, @parent)
end
|
Constructs an empty SimpleElementVal
71
72
73
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 71
def empty(usage, position)
companion.empty(usage, position)
end
|
Constructs a SimpleElementVal from the given ‘String`
57
58
59
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 57
def parse(string, usage)
companion.parse(string, usage)
end
|
#pretty_print(q) ⇒ void
This method returns an undefined value.
76
77
78
79
80
81
82
83
84
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 76
def pretty_print(q)
type = self.class.name.try{|n| n.split('::').last }
if type.blank?
q.text @id.to_s
else
q.text "#{type}[#{@id}]"
end
end
|
Constructs a SimpleElementVal from the given ‘value`
64
65
66
|
# File 'lib/stupidedi/versions/functional_groups/002001/element_types.rb', line 64
def value(object, usage, position)
companion.value(object, usage, position)
end
|