aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2016-12-17 01:39:12 -0500
committerStewart Stewart <stewinsalot@gmail.com>2016-12-17 01:39:12 -0500
commitbb7e18fe7998556086863acc0957056079363d4a (patch)
tree3421175b7d18c8057bfedb2d61469e40b55aa9cc
parent244ab76cc235fd2ae827f038bde8f049c0d9af50 (diff)
downloaddriver-core-bb7e18fe7998556086863acc0957056079363d4a.tar.gz
driver-core-bb7e18fe7998556086863acc0957056079363d4a.tar.bz2
driver-core-bb7e18fe7998556086863acc0957056079363d4a.zip
use core.tagging for months
-rw-r--r--src/main/scala/xyz/driver/core/core.scala5
-rw-r--r--src/main/scala/xyz/driver/core/date.scala8
2 files changed, 8 insertions, 5 deletions
diff --git a/src/main/scala/xyz/driver/core/core.scala b/src/main/scala/xyz/driver/core/core.scala
index 8ae9122..2b61689 100644
--- a/src/main/scala/xyz/driver/core/core.scala
+++ b/src/main/scala/xyz/driver/core/core.scala
@@ -20,6 +20,11 @@ package object core {
resource.close()
}
}
+
+ object tagging {
+ private[core] trait Tagged[+V, +Tag]
+ }
+ type @@[+V, +Tag] = V with tagging.Tagged[V, Tag]
}
package core {
diff --git a/src/main/scala/xyz/driver/core/date.scala b/src/main/scala/xyz/driver/core/date.scala
index 05d139d..b423585 100644
--- a/src/main/scala/xyz/driver/core/date.scala
+++ b/src/main/scala/xyz/driver/core/date.scala
@@ -2,12 +2,10 @@ package xyz.driver.core
import java.util.Calendar
-import scalaz.{@@, Tag}
-
object date {
type Month = Int @@ Month.type
- private[date] def tagMonth(value: Int): Month = Tag.of[Month.type](value)
+ private[date] def tagMonth(value: Int): Month = value.asInstanceOf[Month]
object Month {
val JANUARY = tagMonth(Calendar.JANUARY)
@@ -24,12 +22,12 @@ object date {
}
final case class Date(year: Int, month: Month, day: Int) {
- def iso8601: String = f"$year%04d-${Tag.unwrap(month) + 1}%02d-$day%02d"
+ def iso8601: String = f"$year%04d-${month + 1}%02d-$day%02d"
def toJavaSqlDate = new java.sql.Date(toJavaDate.getTime)
def toJavaDate: java.util.Date = {
val cal = Calendar.getInstance()
cal.set(Calendar.YEAR, year - 1900)
- cal.set(Calendar.MONTH, Tag.unwrap(month))
+ cal.set(Calendar.MONTH, month)
cal.set(Calendar.DAY_OF_MONTH, day)
cal.getTime
}