aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Uspensky <v.uspenskiy@icloud.com>2017-03-30 22:24:04 -0700
committerGitHub <noreply@github.com>2017-03-30 22:24:04 -0700
commit9199ecbaeb2773122df44505e69f8143fc3f08e7 (patch)
tree31d3f35275f9e0e476a9fd993da0185654672566
parentcb1f773aeda5e93a69cce25f1e972bc29c3cb4b1 (diff)
parent21ebc22c439ebbf4b3d6b4261ee10b947314e7ff (diff)
downloaddriver-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.scala8
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)