Class: Stupidedi::Versions::FunctionalGroups::FiftyTen::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.
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 72
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 < 1
raise Exceptions::InvalidSchemaError,
"min_length must be positive"
end
if min_length > max_length
raise Exceptions::InvalidSchemaError,
"min_length cannot be greater than max_length"
end
end
|
Instance Attribute Details
#description ⇒ String
58
59
60
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 58
def description
@description
end
|
52
53
54
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 52
def id
@id
end
|
64
65
66
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 64
def max_length
@max_length
end
|
61
62
63
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 61
def min_length
@min_length
end
|
55
56
57
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 55
def name
@name
end
|
67
68
69
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 67
def parent
@parent
end
|
Instance Method Details
70
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 70
abstract :companion
|
88
89
90
91
92
93
94
95
96
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 88
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
115
116
117
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 115
def empty(usage, position)
companion.empty(usage, position)
end
|
Constructs a SimpleElementVal from the given ‘String`
101
102
103
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 101
def parse(string, usage)
companion.parse(string, usage)
end
|
#pretty_print(q) ⇒ void
This method returns an undefined value.
120
121
122
123
124
125
126
127
128
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 120
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`
108
109
110
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types.rb', line 108
def value(object, usage, position)
companion.value(object, usage, position)
end
|