Class: DTAUS::Erweiterung
- Inherits:
-
Object
- Object
- DTAUS::Erweiterung
- Defined in:
- lib/dtaus/erweiterung.rb
Overview
Eine Erweiterung eines C-Segments Stellt eine Länge von 27 Zeichen sicher
Constant Summary collapse
- TYPE_KUNDE =
'01'
- TYPE_VERWENDUNGZWECK =
'02'
- TYPE_AUFTRAGGEBER =
'03'
- TYPES =
{ :kunde => TYPE_KUNDE, :verwendungszweck => TYPE_VERWENDUNGZWECK, :auftraggeber => TYPE_AUFTRAGGEBER }
Instance Attribute Summary collapse
-
#text ⇒ Object
readonly
Returns the value of attribute text.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Class Method Summary collapse
-
.from_string(_type, _text) ⇒ Object
Erstellt aus einem beliebig langem String eine Liste von Erweiterungen, wenn dies nötig wird.
Instance Method Summary collapse
-
#initialize(_type, _text) ⇒ Erweiterung
constructor
Erstellt eine Erweiterung.
Constructor Details
#initialize(_type, _text) ⇒ Erweiterung
Erstellt eine Erweiterung
_text
-
ist ein beliebig langer String
_type
-
muss ein Symbol sein, aus:
:kunde
,:verwendungszweck
,:auftraggeber
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/dtaus/erweiterung.rb', line 27 def initialize(_type, _text) unless TYPES.keys.include?(_type) or TYPES.values.include?(_type) raise IncorrectErweiterungTypeException.new("Allowed types: :kunde, :verwendungszweck, :auftraggeber") end @text = Converter.convert_text(_text).ljust(27) if text.size > 27 raise IncorrectSizeException.new("Text size may not exceed 27 Chars") end @type = TYPES[_type] || _type end |
Instance Attribute Details
#text ⇒ Object (readonly)
Returns the value of attribute text.
19 20 21 |
# File 'lib/dtaus/erweiterung.rb', line 19 def text @text end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
19 20 21 |
# File 'lib/dtaus/erweiterung.rb', line 19 def type @type end |
Class Method Details
.from_string(_type, _text) ⇒ Object
Erstellt aus einem beliebig langem String eine Liste von Erweiterungen, wenn dies nötig wird. Es werden nur Erweiterungen für den Teil von _text
erzeugt, der nicht in das Standardfeld von 27 Zeichen passt. Keine Erweiterungen werden erzeugt, wenn der _text
vollständig in das Standardfeld von 27 Zeichen passt.
_text
-
ist ein beliebig langer String
_type
-
muss ein Symbol sein, aus:
:kunde
,:verwendungszweck
,:auftraggeber
returns: Array of Erweiterung
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/dtaus/erweiterung.rb', line 50 def self.from_string(_type, _text) erweiterungen = [] _text = Converter.convert_text(_text) # first slice will be omitted _text.slice!(0..26) while _text.size > 0 erweiterungen << Erweiterung.new(_type, _text.slice!(0..26)) end erweiterungen end |