Class: Stupidedi::Versions::FunctionalGroups::ThirtyForty::ElementTypes::IdentifierVal::NonEmpty
Overview
Non-empty identifier value. Shouldn’t be directly instantiated – instead, use the value constructor
Instance Attribute Summary collapse
#position, #usage
Instance Method Summary
collapse
wrappers
unary_operators
relational_operators
empty, #id?, #map, value
#allowed?, #component?, #date?, #id?, #leaf?, #numeric?, #simple?, #string?, #time?
#element?, #size
#blank?, #characters, #component?, #composite?, #definition, #element?, #empty?, #functional_group?, #interchange?, #invalid?, #loop?, #present?, #repeated?, #segment?, #separator?, #simple?, #size, #table?, #transaction_set?, #transmission?
Methods included from Color
ansi, #ansi
Constructor Details
#initialize(value, usage, position) ⇒ NonEmpty
Returns a new instance of NonEmpty.
256
257
258
259
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 256
def initialize(value, usage, position)
@value = value
super(usage, position)
end
|
Instance Attribute Details
#value ⇒ String
231
232
233
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 231
def value
@value
end
|
Instance Method Details
#coerce(other) ⇒ Object
269
270
271
272
273
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 269
def coerce(other)
return copy(:value => other.to_str), self
end
|
262
263
264
265
266
267
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 262
def copy(changes = {})
IdentifierVal.value \
changes.fetch(:value, @value),
changes.fetch(:usage, usage),
changes.fetch(:position, position)
end
|
#inspect ⇒ String
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 294
def inspect
id = definition.bind do |d|
"[#{'% 5s' % d.id}: #{d.name}]".bind do |s|
if usage.forbidden?
ansi.forbidden(s)
elsif usage.required?
ansi.required(s)
else
ansi.optional(s)
end
end
end
codes = definition.code_list
if codes.try(&:internal?)
if codes.defined_at?(@value)
value = "#{@value}: " + ansi.dark(codes.at(@value))
else
value = ansi.red(@value)
end
else
value = @value
end
ansi.element("ID.value#{id}") << "(#{value})"
end
|
#to_x12(truncate = true) ⇒ String
288
289
290
291
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 288
def to_x12(truncate = true)
x12 = @value.ljust(definition.min_length, " ")
truncate ? x12.take(definition.max_length) : x12
end
|
#too_long? ⇒ Boolean
279
280
281
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 279
def too_long?
@value.length > definition.max_length
end
|
#too_short? ⇒ Boolean
283
284
285
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 283
def too_short?
@value.length < definition.min_length
end
|
#valid? ⇒ Boolean
275
276
277
|
# File 'lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb', line 275
def valid?
true
end
|