Class: Arbeitszeitkonto::TaeglichZeitkontoCalculator
- Inherits:
-
ZeitkontoCalculator
- Object
- ZeitkontoCalculator
- Arbeitszeitkonto::TaeglichZeitkontoCalculator
- Defined in:
- lib/arbeitszeitkonto/taeglich_zeitkonto_calculator.rb
Overview
Ein Zeitkonto im Rhythmus :täglich
Instance Method Summary collapse
-
#calculate(zeitspannen) ⇒ Object
Liefert * Anzahl Sekunden, welche die gegebene :zeitspanne mit dem Zeitkonto überlappt * Die Reste (Zeitspanne).
-
#initialize(zeit_von, zeit_bis) ⇒ TaeglichZeitkontoCalculator
constructor
A new instance of TaeglichZeitkontoCalculator.
Constructor Details
#initialize(zeit_von, zeit_bis) ⇒ TaeglichZeitkontoCalculator
Returns a new instance of TaeglichZeitkontoCalculator.
11 12 13 14 |
# File 'lib/arbeitszeitkonto/taeglich_zeitkonto_calculator.rb', line 11 def initialize zeit_von, zeit_bis @zeit_von = zeit_von @zeit_bis = zeit_bis end |
Instance Method Details
#calculate(zeitspannen) ⇒ Object
Liefert
-
Anzahl Sekunden, welche die gegebene :zeitspanne mit dem Zeitkonto überlappt
-
Die Reste (Zeitspanne)
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/arbeitszeitkonto/taeglich_zeitkonto_calculator.rb', line 22 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 |