Class: DreiSchichtenModell::AltersvorsorgeMix
- Inherits:
-
Object
- Object
- DreiSchichtenModell::AltersvorsorgeMix
- Defined in:
- lib/drei_schichten_modell.rb
Instance Method Summary collapse
- #basis ⇒ Object
- #bav ⇒ Object
- #flex ⇒ Object
- #grv ⇒ Object
-
#initialize(avatar_info) ⇒ AltersvorsorgeMix
constructor
A new instance of AltersvorsorgeMix.
- #produkte ⇒ Object
- #riester ⇒ Object
- #to_hash(name, produkt, empfehlung) ⇒ Object
Constructor Details
#initialize(avatar_info) ⇒ AltersvorsorgeMix
Returns a new instance of AltersvorsorgeMix.
19 20 21 |
# File 'lib/drei_schichten_modell.rb', line 19 def initialize(avatar_info) @avatar_info = avatar_info end |
Instance Method Details
#basis ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/drei_schichten_modell.rb', line 121 def basis if @avatar_info.basis_beitrag_pa && @avatar_info.steuerklasse && @avatar_info.verzinsung && @avatar_info.aufschubzeit basis = Basis.new(@avatar_info.einkommen) basis.basis_pa = @avatar_info.basis_beitrag_pa basis.steuerklasse = @avatar_info.steuerklasse basis.verzinsung = @avatar_info.verzinsung basis.aufschubzeit = @avatar_info.aufschubzeit basis.rentengarantiefaktor = @avatar_info.rentengarantiefaktor basis.run if @avatar_info.basis_wunsch == nil @empfehlung = @avatar_info.grv ? false : true else @empfehlung = @avatar_info.basis_wunsch end return to_hash("basis", basis, @empfehlung) else puts 'es fehlen daten zur berechnung der Ruerup-Rente' end end |
#bav ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/drei_schichten_modell.rb', line 88 def bav if @avatar_info.steuerklasse && @avatar_info.bav_beitrag_pa && @avatar_info.verzinsung && @avatar_info.aufschubzeit bav = BetrieblicheAltersvorsorge.new(@avatar_info.einkommen) bav.steuerklasse = @avatar_info.steuerklasse bav.bav_pa = @avatar_info.bav_beitrag_pa bav.verzinsung = @avatar_info.verzinsung bav.aufschubzeit = @avatar_info.aufschubzeit bav.rentengarantiefaktor = @avatar_info.rentengarantiefaktor bav.run if @avatar_info.bav_wunsch == nil @empfehlung = @avatar_info.pflichtversichert ? true : false else @empfehlung = @avatar_info.bav_wunsch end return to_hash("bav", bav, @empfehlung ) else puts 'es fehlen daten zur berechnung der Betriebliche Altersvorsorge' end end |
#flex ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/drei_schichten_modell.rb', line 26 def flex if @avatar_info.verzinsung && @avatar_info.aufschubzeit flex = Flex.new flex.flex_pa = @avatar_info.flex_beitrag_pa flex.verzinsung = @avatar_info.verzinsung flex.aufschubzeit = @avatar_info.aufschubzeit flex.rentengarantiefaktor = @avatar_info.rentengarantiefaktor flex.run if @avatar_info.flex_wunsch == nil @empfehlung = false else @empfehlung = @avatar_info.flex_wunsch end return to_hash("flex", flex, @empfehlung) else puts 'es fehlen daten zur berechnung der Flexiblen Altersvorsorge' end end |
#grv ⇒ Object
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/drei_schichten_modell.rb', line 150 def grv if @avatar_info.renteneintrittsalter && @avatar_info.geburtsjahr && @avatar_info.berufseinstieg && @avatar_info.bundesland grv = GesetzlichenRentenversicherung.new(@avatar_info.einkommen) grv.renteneintrittsalter = @avatar_info.renteneintrittsalter grv.geburtsjahr = @avatar_info.geburtsjahr grv.bundesland = @avatar_info.bundesland grv.berufseinstieg = @avatar_info.berufseinstieg grv.grv_pa = @avatar_info.grv_rente_pa ? @avatar_info.grv_rente_pa : 0 grv.run @empfehlung = @avatar_info.grv ? true : false return to_hash("grv", grv, @empfehlung) else puts 'es fehlen daten zur berechnung der gesetzlichen Rentenversicherung' end end |
#produkte ⇒ Object
193 194 195 |
# File 'lib/drei_schichten_modell.rb', line 193 def produkte return flex, riester, bav, basis, grv end |
#riester ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/drei_schichten_modell.rb', line 54 def riester if @avatar_info.kinder && @avatar_info.verzinsung && @avatar_info.aufschubzeit && @avatar_info.job_status riester = Riester.new(@avatar_info.einkommen) riester.kinder = @avatar_info.kinder riester.beitrag_pa = @avatar_info.riester_beitrag_pa if @avatar_info.riester_beitrag_pa riester.job_status = @avatar_info.job_status riester.verzinsung = @avatar_info.verzinsung riester.aufschubzeit = @avatar_info.aufschubzeit riester.rentengarantiefaktor = @avatar_info.rentengarantiefaktor riester.run if @avatar_info.riester_wunsch == nil @empfehlung = @avatar_info.grv ? true : false else @empfehlung = @avatar_info.riester_wunsch end return to_hash("riester", riester, @empfehlung) else puts 'es fehlen daten zur berechnung der Riester Rente' end end |
#to_hash(name, produkt, empfehlung) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/drei_schichten_modell.rb', line 176 def to_hash(name, produkt, empfehlung) { empfehlung: empfehlung, typ: name, anlage: produkt.anlage, rendite: produkt.rendite, zulage: produkt.zulage, eigenbeitrag: produkt.eigenbeitrag, gesamt_eigenbeitrag: produkt.gesamt_eigenbeitrag, ablaufleistung: produkt.ablaufleistung, rente: produkt.rente.to_i } end |