aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/com/drivergrp/core/time.scala
diff options
context:
space:
mode:
authorvlad <vlad@drivergrp.com>2016-10-21 16:07:05 -0400
committervlad <vlad@drivergrp.com>2016-10-21 16:07:05 -0400
commit02810f5eac3b4ce6a5d1128281a01b2a2ed0647c (patch)
treea733b421759216a7f12d227d2f912eecdfa842aa /src/main/scala/com/drivergrp/core/time.scala
parent7c77f5ff23e4b0f8d5e189492bc4f25f847adc00 (diff)
downloaddriver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.tar.gz
driver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.tar.bz2
driver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.zip
Renamed package to xyz, New formatting, authorize directive supporting multiple permissions
Diffstat (limited to 'src/main/scala/com/drivergrp/core/time.scala')
-rw-r--r--src/main/scala/com/drivergrp/core/time.scala72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/main/scala/com/drivergrp/core/time.scala b/src/main/scala/com/drivergrp/core/time.scala
deleted file mode 100644
index 9bafb00..0000000
--- a/src/main/scala/com/drivergrp/core/time.scala
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.drivergrp.core
-
-import java.text.SimpleDateFormat
-import java.util._
-
-import scala.concurrent.duration._
-
-object time {
-
- // The most useful time units
- val Second = 1000L
- val Seconds = Second
- val Minute = 60 * Seconds
- val Minutes = Minute
- val Hour = 60 * Minutes
- val Hours = Hour
- val Day = 24 * Hours
- val Days = Day
- val Week = 7 * Days
- val Weeks = Week
-
- final case class Time(millis: Long) extends AnyVal {
-
- def isBefore(anotherTime: Time): Boolean = millis < anotherTime.millis
-
- def isAfter(anotherTime: Time): Boolean = millis > anotherTime.millis
-
- def advanceBy(duration: Duration): Time = Time(millis + duration.toMillis)
- }
-
- final case class TimeRange(start: Time, end: Time) {
- def duration: Duration = FiniteDuration(end.millis - start.millis, MILLISECONDS)
- }
-
- implicit def timeOrdering: Ordering[Time] = Ordering.by(_.millis)
-
- def startOfMonth(time: Time) = {
- Time(make(new GregorianCalendar()) { cal =>
- cal.setTime(new Date(time.millis))
- cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH))
- }.getTime.getTime)
- }
-
- def textualDate(timezone: TimeZone)(time: Time): String =
- make(new SimpleDateFormat("MMMM d, yyyy"))(_.setTimeZone(timezone)).format(new Date(time.millis))
-
- def textualTime(timezone: TimeZone)(time: Time): String =
- make(new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a"))(_.setTimeZone(timezone)).format(new Date(time.millis))
-
- object provider {
-
- /**
- * Time providers are supplying code with current times
- * and are extremely useful for testing to check how system is going
- * to behave at specific moments in time.
- *
- * All the calls to receive current time must be made using time
- * provider injected to the caller.
- */
- trait TimeProvider {
- def currentTime(): Time
- }
-
- final class SystemTimeProvider extends TimeProvider {
- def currentTime() = Time(System.currentTimeMillis())
- }
-
- final class SpecificTimeProvider(time: Time) extends TimeProvider {
- def currentTime() = time
- }
- }
-}