Class: Riester
- Inherits:
-
Object
- Object
- Riester
- Defined in:
- lib/riester.rb
Instance Attribute Summary collapse
-
#ablaufleistung ⇒ Object
readonly
Returns the value of attribute ablaufleistung.
-
#anlage ⇒ Object
readonly
Returns the value of attribute anlage.
-
#aufschubzeit ⇒ Object
writeonly
Sets the attribute aufschubzeit.
-
#beitrag_pa ⇒ Object
writeonly
Sets the attribute beitrag_pa.
-
#eigenbeitrag ⇒ Object
readonly
Returns the value of attribute eigenbeitrag.
-
#gesamt_eigenbeitrag ⇒ Object
readonly
Returns the value of attribute gesamt_eigenbeitrag.
-
#job_status ⇒ Object
writeonly
Sets the attribute job_status.
-
#kinder ⇒ Object
writeonly
Sets the attribute kinder.
-
#rendite ⇒ Object
readonly
Returns the value of attribute rendite.
-
#rente ⇒ Object
readonly
Returns the value of attribute rente.
-
#rentengarantiefaktor ⇒ Object
writeonly
Sets the attribute rentengarantiefaktor.
-
#verzinsung ⇒ Object
writeonly
Sets the attribute verzinsung.
-
#zulage ⇒ Object
readonly
Returns the value of attribute zulage.
Instance Method Summary collapse
- #ideal_beitrag ⇒ Object
-
#initialize(bruttojahreseinkommen) ⇒ Riester
constructor
A new instance of Riester.
- #run ⇒ Object
- #versicherungskosten(ablaufleistung) ⇒ Object
Constructor Details
#initialize(bruttojahreseinkommen) ⇒ Riester
Returns a new instance of Riester.
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/riester.rb', line 8 def initialize(bruttojahreseinkommen) @bruttojahreseinkommen = bruttojahreseinkommen @maximalbeitrag = bruttojahreseinkommen/100*4 < 2100 ? bruttojahreseinkommen/100*4 : 2100 @grundzulage = 154 @kinder = [] @kinderzulage = 0 @zulage = 0 @verzinsung = 2.0 @aufschubzeit = 1 @rentengarantiefaktor = 36.51 @eigenbeitrag = ideal_beitrag end |
Instance Attribute Details
#ablaufleistung ⇒ Object (readonly)
Returns the value of attribute ablaufleistung.
4 5 6 |
# File 'lib/riester.rb', line 4 def ablaufleistung @ablaufleistung end |
#anlage ⇒ Object (readonly)
Returns the value of attribute anlage.
4 5 6 |
# File 'lib/riester.rb', line 4 def anlage @anlage end |
#aufschubzeit=(value) ⇒ Object (writeonly)
Sets the attribute aufschubzeit
5 6 7 |
# File 'lib/riester.rb', line 5 def aufschubzeit=(value) @aufschubzeit = value end |
#beitrag_pa=(value) ⇒ Object (writeonly)
Sets the attribute beitrag_pa
5 6 7 |
# File 'lib/riester.rb', line 5 def beitrag_pa=(value) @beitrag_pa = value end |
#eigenbeitrag ⇒ Object (readonly)
Returns the value of attribute eigenbeitrag.
4 5 6 |
# File 'lib/riester.rb', line 4 def eigenbeitrag @eigenbeitrag end |
#gesamt_eigenbeitrag ⇒ Object (readonly)
Returns the value of attribute gesamt_eigenbeitrag.
4 5 6 |
# File 'lib/riester.rb', line 4 def gesamt_eigenbeitrag @gesamt_eigenbeitrag end |
#job_status=(value) ⇒ Object (writeonly)
Sets the attribute job_status
5 6 7 |
# File 'lib/riester.rb', line 5 def job_status=(value) @job_status = value end |
#kinder=(value) ⇒ Object (writeonly)
Sets the attribute kinder
5 6 7 |
# File 'lib/riester.rb', line 5 def kinder=(value) @kinder = value end |
#rendite ⇒ Object (readonly)
Returns the value of attribute rendite.
4 5 6 |
# File 'lib/riester.rb', line 4 def rendite @rendite end |
#rente ⇒ Object (readonly)
Returns the value of attribute rente.
4 5 6 |
# File 'lib/riester.rb', line 4 def rente @rente end |
#rentengarantiefaktor=(value) ⇒ Object (writeonly)
Sets the attribute rentengarantiefaktor
5 6 7 |
# File 'lib/riester.rb', line 5 def rentengarantiefaktor=(value) @rentengarantiefaktor = value end |
#verzinsung=(value) ⇒ Object (writeonly)
Sets the attribute verzinsung
5 6 7 |
# File 'lib/riester.rb', line 5 def verzinsung=(value) @verzinsung = value end |
#zulage ⇒ Object (readonly)
Returns the value of attribute zulage.
4 5 6 |
# File 'lib/riester.rb', line 4 def zulage @zulage end |
Instance Method Details
#ideal_beitrag ⇒ Object
22 23 24 25 |
# File 'lib/riester.rb', line 22 def ideal_beitrag eigenbeitrag = @maximalbeitrag - @grundzulage - @kinderzulage return eigenbeitrag > 60 ? eigenbeitrag : 60 end |
#run ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/riester.rb', line 38 def run # brechnung der kinder zulage. @kinder.each do |geburtsjahr| @kinderzulage += geburtsjahr < 2008 ? 185 : 300 end # die gesamte zulage p.a. @zulage = @grundzulage + @kinderzulage # welche summe geht in die anlage p.a. @anlage = @maximalbeitrag + @zulage # berechnung der redite @rendite = (@zulage * 100 / @maximalbeitrag) + @verzinsung # was kostet mich das produkt efektiv. mit berucksichtigung der zulagen @gesamt_eigenbeitrag = @eigenbeitrag * @aufschubzeit # berechnung der ablaufleistung invest = Investment.new invest.p = @verzinsung invest.r = @anlage invest.n = @aufschubzeit @ablaufleistung = (invest.rn - versicherungskosten(invest.rn.to_i)).to_i # fiktive berechnung der rente p.a. prozehntausend = @ablaufleistung/10000 @rente = (prozehntausend*@rentengarantiefaktor)*12 end |
#versicherungskosten(ablaufleistung) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/riester.rb', line 28 def versicherungskosten(ablaufleistung) @ablaufleistung = ablaufleistung kosten = Investment.new kosten.k0 = @ablaufleistung kosten.p = 12.0 # 12% kosten kosten.n = 1 return kosten.kn_einfach - @ablaufleistung end |