Class: Arbeitszeitkonto::TaeglichZeitkontoCalculator

Inherits:
ZeitkontoCalculator show all
Defined in:
lib/arbeitszeitkonto/taeglich_zeitkonto_calculator.rb

Overview

Ein Zeitkonto im Rhythmus :täglich

Instance Method Summary collapse

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