class Planik::Lohnausweis::Eintrag
Abstrakte Klasse für alle Einträge in den Tabellen des Lohnausweises Ein Eintrag
hat vier mögliche Spalten: Name, Menge, Ansatz und Betrag, von denen aber der einte oder andere nil sein kann.
Attributes
ansatz[R]
einheit[R]
menge[R]
name[R]
Public Class Methods
new(name, menge, ansatz, einheit = "Fr")
click to toggle source
# File lib/lohnausweis/daten_eintrag.rb, line 12 def initialize(name, menge, ansatz, einheit = "Fr") @name, @menge, @ansatz, @einheit= name, menge, ansatz, einheit end
Public Instance Methods
ansatz_to_s()
click to toggle source
Default Wert ist nil
# File lib/lohnausweis/daten_eintrag.rb, line 27 def ansatz_to_s nil end
betrag()
click to toggle source
# File lib/lohnausweis/daten_eintrag.rb, line 16 def betrag raise "implement in subclass" end
betrag_gerundet_to_s()
click to toggle source
# File lib/lohnausweis/daten_eintrag.rb, line 31 def betrag_gerundet_to_s value_gerundet_to_s betrag end
menge_to_s()
click to toggle source
Die Menge, gerundet auf zwei Kommastellen genau
# File lib/lohnausweis/daten_eintrag.rb, line 21 def menge_to_s return menge if menge.instance_of? String menge.nil? ? nil :format('%.2f', menge) end
Private Instance Methods
betrag_gerundet(_betrag)
click to toggle source
# File lib/lohnausweis/daten_eintrag.rb, line 48 def betrag_gerundet(_betrag) (_betrag * 2).round(1) / 2.0 end
value_gerundet_to_s(value)
click to toggle source
# File lib/lohnausweis/daten_eintrag.rb, line 37 def value_gerundet_to_s value value = betrag_gerundet(value) if einheit == "Fr" x = format('%.2f', value) x = ActiveSupport::NumberHelper.number_to_delimited(x, delimiter: "'") # x = ActiveSupport::NumberHelper.number_to_rounded(value, precision: 2) # x = ActiveSupport::NumberHelper.number_to_delimited(x, delimiter: "'") x = "#{einheit} #{x}" if einheit x end