aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/date.scala
diff options
context:
space:
mode:
authorAleksandr <ognelisar@gmail.com>2018-04-04 16:52:10 +0700
committerAleksandr <ognelisar@gmail.com>2018-04-04 16:52:10 +0700
commit223628e3c756701309ba8d33ecc886f43857fc15 (patch)
tree7cd251276898464c4745cc69f3c833e4ff567181 /src/main/scala/xyz/driver/core/date.scala
parent9ffa65c1ccdc5fdea4ccec26c4b39557d45867f7 (diff)
parentbdf9ec57f213eb652ba5fb3b21973d028034d40e (diff)
downloaddriver-core-223628e3c756701309ba8d33ecc886f43857fc15.tar.gz
driver-core-223628e3c756701309ba8d33ecc886f43857fc15.tar.bz2
driver-core-223628e3c756701309ba8d33ecc886f43857fc15.zip
Merge branch 'master' into TM-1431
Diffstat (limited to 'src/main/scala/xyz/driver/core/date.scala')
-rw-r--r--src/main/scala/xyz/driver/core/date.scala17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/main/scala/xyz/driver/core/date.scala b/src/main/scala/xyz/driver/core/date.scala
index fe35c91..5454093 100644
--- a/src/main/scala/xyz/driver/core/date.scala
+++ b/src/main/scala/xyz/driver/core/date.scala
@@ -2,12 +2,13 @@ package xyz.driver.core
import java.util.Calendar
-import scala.util.Try
-
+import enumeratum._
import scalaz.std.anyVal._
-import scalaz.Scalaz.stringInstance
import scalaz.syntax.equal._
+import scala.collection.immutable.IndexedSeq
+import scala.util.Try
+
/**
* Driver Date type and related validators/extractors.
* Day, Month, and Year extractors are from ISO 8601 strings => driver...Date integers.
@@ -15,8 +16,8 @@ import scalaz.syntax.equal._
*/
object date {
- sealed trait DayOfWeek
- object DayOfWeek {
+ sealed trait DayOfWeek extends EnumEntry
+ object DayOfWeek extends Enum[DayOfWeek] {
case object Monday extends DayOfWeek
case object Tuesday extends DayOfWeek
case object Wednesday extends DayOfWeek
@@ -25,9 +26,11 @@ object date {
case object Saturday extends DayOfWeek
case object Sunday extends DayOfWeek
- val All: Set[DayOfWeek] = Set(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)
+ val values: IndexedSeq[DayOfWeek] = findValues
+
+ val All: Set[DayOfWeek] = values.toSet
- def fromString(day: String): Option[DayOfWeek] = All.find(_.toString === day)
+ def fromString(day: String): Option[DayOfWeek] = withNameInsensitiveOption(day)
}
type Day = Int @@ Day.type