From 02fa71c891cdddb728ea9b1b0c6eab68a232dfd8 Mon Sep 17 00:00:00 2001 From: Sean DeNigris Date: Fri, 13 Oct 2023 21:51:07 -0400 Subject: [PATCH] [Bug]: GtPlotterTimeEveryHour DNU `#durationsFrom:to:do:` All the other sibling classes implement it (& all should probably be refactored eventually as there is much duplication --- .../GtPlotterTimeEveryHour.class.st | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/GToolkit-Plotter/GtPlotterTimeEveryHour.class.st b/src/GToolkit-Plotter/GtPlotterTimeEveryHour.class.st index 8fac3dd01..582fdc0c7 100644 --- a/src/GToolkit-Plotter/GtPlotterTimeEveryHour.class.st +++ b/src/GToolkit-Plotter/GtPlotterTimeEveryHour.class.st @@ -4,6 +4,20 @@ Class { #category : #'GToolkit-Plotter-Time' } +{ #category : #'instance creation' } +GtPlotterTimeEveryHour >> durationsFrom: aStartDuration to: anEndDuration do: aBlock [ + | aCounter aCeilStart aFloorEnd | + + aCounter := 0. + aCeilStart := (aStartDuration / 1 hour) ceiling. + aFloorEnd := (anEndDuration / 1 hour) floor. + + aCeilStart to: aFloorEnd do: [ :anAmountOfHourss | + aCounter % step = 0 + ifTrue: [ aBlock value: (GtPlotterDuration hours: anAmountOfHourss) ]. + aCounter := aCounter + 1 ] +] + { #category : #'instance creation' } GtPlotterTimeEveryHour >> from: aStartDateAndTime to: anEndDateAndTime do: aBlock [ | aCeilStart |