class Planik::Arbeitszeitkonto::ZeitkontoCalculator
Zulagen berechnen für Medphone
Protected Instance Methods
calc(zeitspannen, zeitspannen_des_zeitkontos)
click to toggle source
Hilfsfunktion, um die Zeiten für die Zulagen zu berechnen liefert die Anzahl Sekunde der Überlappung(en) und den Rest als Zeitspanne
zurück
# File lib/arbeitszeitkonto/zeitkonto_calculator.rb, line 23 def calc zeitspannen, zeitspannen_des_zeitkontos sum_seconds = 0 zeitspannen_des_zeitkontos.each do |zeitspanne_des_kontos| neue_zeitspannen = [] zeitspannen.each do |zeitspanne| #puts "#{self.class.name}#calc: kandidat_zeitspanne = #{zeitspanne.to_s}" #puts "#{self.class.name}#calc: zeitspanne_des_kontos = #{zeitspanne_des_kontos.to_s}" seconds, reste = zeitspanne_des_kontos.overlap(zeitspanne) neue_zeitspannen.push(*reste) sum_seconds += seconds end zeitspannen = neue_zeitspannen end #puts "#{self.class.name}#calc: Reste = #{zeitspannen.map(&:to_s).join(", ")}" [sum_seconds, zeitspannen] end
kombiniere(datum, zeit)
click to toggle source
Erstellt ein neues Time Objekt mit Datum von @datum und dem Reste von @zeit
# File lib/arbeitszeitkonto/zeitkonto_calculator.rb, line 15 def kombiniere(datum, zeit) zeit.change(year: datum.year, month: datum.month, day: datum.day) end