diff options
author | Vlad Uspensky <v.uspenskiy@icloud.com> | 2017-03-30 22:24:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-30 22:24:04 -0700 |
commit | 9199ecbaeb2773122df44505e69f8143fc3f08e7 (patch) | |
tree | 31d3f35275f9e0e476a9fd993da0185654672566 | |
parent | cb1f773aeda5e93a69cce25f1e972bc29c3cb4b1 (diff) | |
parent | 21ebc22c439ebbf4b3d6b4261ee10b947314e7ff (diff) | |
download | driver-core-9199ecbaeb2773122df44505e69f8143fc3f08e7.tar.gz driver-core-9199ecbaeb2773122df44505e69f8143fc3f08e7.tar.bz2 driver-core-9199ecbaeb2773122df44505e69f8143fc3f08e7.zip |
Merge pull request #30 from drivergroup/PDW-436-normalize-email-case
Use case insensitive string comparison for `Email`
-rw-r--r-- | src/main/scala/xyz/driver/core/domain.scala | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/domain.scala b/src/main/scala/xyz/driver/core/domain.scala index f2629ee..9d5d4c8 100644 --- a/src/main/scala/xyz/driver/core/domain.scala +++ b/src/main/scala/xyz/driver/core/domain.scala @@ -1,5 +1,9 @@ package xyz.driver.core +import scalaz.Equal +import scalaz.syntax.equal._ +import scalaz.std.string._ + object domain { final case class Email(username: String, domain: String) { @@ -7,6 +11,10 @@ object domain { } object Email { + implicit val emailEqual: Equal[Int] = Equal.equal { + case (left, right) => left.toString.toLowerCase === right.toString.toLowerCase + } + def parse(emailString: String): Option[Email] = { Some(emailString.split("@")) collect { case Array(username, domain) => Email(username, domain) |