Class: Stupidedi::Versions::FunctionalGroups::FiftyTen::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.
258
259
260
261
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 258
def initialize(value, usage, position)
@value = value
super(usage, position)
end
|
Instance Attribute Details
232
233
234
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 232
def value
@value
end
|
Instance Method Details
#coerce(other) ⇒ Object
271
272
273
274
275
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 271
def coerce(other)
return copy(:value => other.to_str), self
end
|
264
265
266
267
268
269
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 264
def copy(changes = {})
IdentifierVal.value \
changes.fetch(:value, @value),
changes.fetch(:usage, usage),
changes.fetch(:position, position)
end
|
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
321
322
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 296
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
290
291
292
293
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 290
def to_x12(truncate = true)
x12 = @value.ljust(definition.min_length, " ")
truncate ? x12.take(definition.max_length) : x12
end
|
#too_long? ⇒ Boolean
281
282
283
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 281
def too_long?
@value.length > definition.max_length
end
|
#too_short? ⇒ Boolean
285
286
287
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 285
def too_short?
@value.length < definition.min_length
end
|
#valid? ⇒ Boolean
277
278
279
|
# File 'lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb', line 277
def valid?
true
end
|