class Planik::Arbeitszeitkonto::TaeglichZeitkontoCalculator
Ein Zeitkonto im Rhythmus :täglich
Public Class Methods
new(zeit_von, zeit_bis)
click to toggle source
# File lib/arbeitszeitkonto/taeglich_zeitkonto_calculator.rb, line 12 def initialize zeit_von, zeit_bis @zeit_von = zeit_von @zeit_bis = zeit_bis end
Public Instance Methods
calculate(zeitspannen)
click to toggle source
Liefert
-
Anzahl Sekunden, welche die gegebene :zeitspanne mit dem Zeitkonto überlappt
-
Die Reste (Zeitspanne)
# File lib/arbeitszeitkonto/taeglich_zeitkonto_calculator.rb, line 23 def calculate zeitspannen reste = [] seconds = 0 Array(zeitspannen).each do |zeitspanne| zeitspanne_1 = Zeitspanne.relative(zeitspanne.datum - 1, @zeit_von, @zeit_bis) zeitspanne_2 = Zeitspanne.relative(zeitspanne.datum, @zeit_von, @zeit_bis) sec, r = calc(Array(zeitspanne), [zeitspanne_1, zeitspanne_2]) seconds+=sec reste.push(*r) end [seconds, reste] end