Class: DTAUS::Konto
- Inherits:
-
Object
- Object
- DTAUS::Konto
- Defined in:
- lib/dtaus/konto.rb
Overview
Kontodaten mit Name des Inhabers, Bank, Bankleitzahl und Kontonummer. Kann zwischen Auftraggeber und Kundenkonto unterscheiden.
Instance Attribute Summary collapse
-
#bankname ⇒ Object
readonly
Returns the value of attribute bankname.
-
#blz ⇒ Object
readonly
Returns the value of attribute blz.
-
#is_auftraggeber ⇒ Object
(also: #is_auftraggeber?)
readonly
Returns the value of attribute is_auftraggeber.
-
#kontoinhaber ⇒ Object
readonly
Returns the value of attribute kontoinhaber.
-
#kontonummer ⇒ Object
readonly
Returns the value of attribute kontonummer.
-
#kundennummer ⇒ Object
readonly
Returns the value of attribute kundennummer.
Instance Method Summary collapse
-
#erweiterungen ⇒ Object
Erstellt eine Liste von Erweiterungen für den Kontoinhaber.
-
#initialize(params = {}) ⇒ Konto
constructor
Erstellt ein neues Konto.
Constructor Details
#initialize(params = {}) ⇒ Konto
Erstellt ein neues Konto
params
as Hash:
:kontonummer
-
die Kontonummer
:blz
-
die Bankleitzahl
:kontoinhaber
-
der Name der Kontoinhabers
:bankname
-
der Name der Bank
:is_auftraggeber
-
Boolischer Wert, ob dieses Konto ein Auftraggeberkonto ist; wird gebraucht, um den Typ der Erweiterung zu bestimmen; optional, default-Wert ist
false
:kundennummer
-
eine Kundennummer; optional, defautl-Wert ist
0
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/dtaus/konto.rb', line 23 def initialize(params = {}) # defaults params = { :is_auftraggeber => false, :kundennummer => 0 }.merge(params) [:blz, :bankname, :kontoinhaber, :kontonummer].each do |attr| raise ArgumentError.new("Missing params[:#{attr}] for new Konto.") if params[attr].nil? end @is_auftraggeber = params[:is_auftraggeber] @kontonummer = Converter.convert_number(params[:kontonummer]) @blz = Converter.convert_number(params[:blz]) @kundennummer = Converter.convert_number(params[:kundennummer]) @kontoinhaber = Converter.convert_text(params[:kontoinhaber]) @bankname = Converter.convert_text(params[:bankname]) if @kontonummer == 0 or @kontonummer.to_s.size > 10 raise DTAUSException.new("Ungültige Kontonummer: #{@kontonummer}") end if @blz == 0 or @blz.to_s.size > 8 raise DTAUSException.new("Ungültige Bankleitzahl: #{@blz}") end if @kundennummer.to_s.size > 11 raise DTAUSException.new("Ungültige Kundennummer: #{@kundennummer}") end end |
Instance Attribute Details
#bankname ⇒ Object (readonly)
Returns the value of attribute bankname.
8 9 10 |
# File 'lib/dtaus/konto.rb', line 8 def bankname @bankname end |
#blz ⇒ Object (readonly)
Returns the value of attribute blz.
8 9 10 |
# File 'lib/dtaus/konto.rb', line 8 def blz @blz end |
#is_auftraggeber ⇒ Object (readonly) Also known as: is_auftraggeber?
Returns the value of attribute is_auftraggeber.
8 9 10 |
# File 'lib/dtaus/konto.rb', line 8 def is_auftraggeber @is_auftraggeber end |
#kontoinhaber ⇒ Object (readonly)
Returns the value of attribute kontoinhaber.
8 9 10 |
# File 'lib/dtaus/konto.rb', line 8 def kontoinhaber @kontoinhaber end |
#kontonummer ⇒ Object (readonly)
Returns the value of attribute kontonummer.
8 9 10 |
# File 'lib/dtaus/konto.rb', line 8 def kontonummer @kontonummer end |
#kundennummer ⇒ Object (readonly)
Returns the value of attribute kundennummer.
8 9 10 |
# File 'lib/dtaus/konto.rb', line 8 def kundennummer @kundennummer end |
Instance Method Details
#erweiterungen ⇒ Object
Erstellt eine Liste von Erweiterungen für den Kontoinhaber
55 56 57 |
# File 'lib/dtaus/konto.rb', line 55 def erweiterungen Erweiterung.from_string(is_auftraggeber? ? :auftraggeber : :kunde, kontoinhaber) end |