Class: DTAUS::Buchung
- Inherits:
-
Object
- Object
- DTAUS::Buchung
- Defined in:
- lib/dtaus/buchung.rb
Overview
Buchung erstellen
buchung = Buchung.new(auftraggeber_konto, kunden_konto, betrag, verwendungszweck)
auftraggeber_konto und kunden_konto müssen ein DTAUS::Konto sein betrag muss ein Float sein
Instance Attribute Summary collapse
-
#auftraggeber ⇒ Object
readonly
Returns the value of attribute auftraggeber.
-
#betrag ⇒ Object
readonly
Returns the value of attribute betrag.
-
#konto ⇒ Object
readonly
Returns the value of attribute konto.
-
#positiv ⇒ Object
(also: #positiv?)
readonly
Returns the value of attribute positiv.
-
#text ⇒ Object
readonly
Returns the value of attribute text.
Instance Method Summary collapse
- #erweiterungen ⇒ Object
-
#initialize(_auftraggeber, _konto, _betrag, _text = "") ⇒ Buchung
constructor
A new instance of Buchung.
- #size ⇒ Object
- #to_dta ⇒ Object
- #verwendungszweck_erweiterungen ⇒ Object
-
#zahlungsart ⇒ Object
5 Zeichen Art der Transaktion (7a: 2 Zeichen, 7b: 3 Zeichen) “04000” Lastschrift des Abbuchungsauftragsverfahren “05000” Lastschrift des Einzugsermächtigungsverfahren “05005” Lastschrift aus Verfügung im elektronischen Cash-System “05006” Wie 05005 mit ausländischen Karten “05015” Lastschrift aus Verfügung im elec.
Constructor Details
#initialize(_auftraggeber, _konto, _betrag, _text = "") ⇒ Buchung
Returns a new instance of Buchung.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/dtaus/buchung.rb', line 16 def initialize(_auftraggeber, _konto, _betrag, _text = "") raise DTAusException.new("Konto expected, got #{_konto.class}") unless _konto.is_a?(Konto) raise DTAUSException.new("Betrag is a #{_betrag.class}, expected Float") unless _betrag.is_a?(Float) raise DTAUSException.new("Betrag ist 0.0") unless _betrag > 0 @auftraggeber = _auftraggeber @konto = _konto @text = DTAUS.convert_text(_text) raise IncorrectSize.new("Zuviele Erweiterungen: #{erweiterungen.size}, maximal 15. Verwendungszweck zu lang?") if erweiterungen.size > 15 @betrag = (_betrag * 100).round.to_i # Euro-Cent if betrag > 0 @positiv = true else @betrag = -betrag # only store positive amounts @positiv = false end end |
Instance Attribute Details
#auftraggeber ⇒ Object (readonly)
Returns the value of attribute auftraggeber.
13 14 15 |
# File 'lib/dtaus/buchung.rb', line 13 def auftraggeber @auftraggeber end |
#betrag ⇒ Object (readonly)
Returns the value of attribute betrag.
13 14 15 |
# File 'lib/dtaus/buchung.rb', line 13 def betrag @betrag end |
#konto ⇒ Object (readonly)
Returns the value of attribute konto.
13 14 15 |
# File 'lib/dtaus/buchung.rb', line 13 def konto @konto end |
#positiv ⇒ Object (readonly) Also known as: positiv?
Returns the value of attribute positiv.
13 14 15 |
# File 'lib/dtaus/buchung.rb', line 13 def positiv @positiv end |
#text ⇒ Object (readonly)
Returns the value of attribute text.
13 14 15 |
# File 'lib/dtaus/buchung.rb', line 13 def text @text end |
Instance Method Details
#erweiterungen ⇒ Object
58 59 60 |
# File 'lib/dtaus/buchung.rb', line 58 def erweiterungen @erweiterungen ||= konto.erweiterungen + auftraggeber.erweiterungen + verwendungszweck_erweiterungen end |
#size ⇒ Object
66 67 68 |
# File 'lib/dtaus/buchung.rb', line 66 def size (187 + erweiterungen.size * 29) end |
#to_dta ⇒ Object
62 63 64 |
# File 'lib/dtaus/buchung.rb', line 62 def to_dta "#{dataC}#{dataC_erweiterungen}" end |
#verwendungszweck_erweiterungen ⇒ Object
54 55 56 |
# File 'lib/dtaus/buchung.rb', line 54 def verwendungszweck_erweiterungen Erweiterung.from_string(:verwendungszweck, text) end |
#zahlungsart ⇒ Object
5 Zeichen Art der Transaktion (7a: 2 Zeichen, 7b: 3 Zeichen) “04000” Lastschrift des Abbuchungsauftragsverfahren “05000” Lastschrift des Einzugsermächtigungsverfahren “05005” Lastschrift aus Verfügung im elektronischen Cash-System “05006” Wie 05005 mit ausländischen Karten “05015” Lastschrift aus Verfügung im elec. Cash-System - POZ “51000” Überweisungs-Gutschrift “53000” Überweisung Lohn/Gehalt/Rente “54XXJ” Vermögenswirksame Leistung (VL) mit Sparzulage “56000” Überweisung öffentlicher Kassen Die im Textschlüssel mit XX bezeichnete Stelle ist 00 oder der Prozentsatz der Sparzulage. Die im Textschlüssel mit J bezeichnete Stelle wird bei Übernahme in eine Zahlung automatisch mit der jeweils aktuellen Jahresendziffer (z.B. 7, wenn 97) ersetzt.
50 51 52 |
# File 'lib/dtaus/buchung.rb', line 50 def zahlungsart '05000' end |