blob: 7b22a6ee88a6be7273ae492b3bd5b10cc0103358 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package xyz.driver.core
import scalaz.Equal
package domain {
final case class Email(username: String, domain: String) {
override def toString: String = username + "@" + domain
}
object Email {
implicit val emailEqual: Equal[Email] = 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)
}
}
}
final case class PhoneNumber(countryCode: String = "1", number: String) {
override def toString: String = s"+$countryCode $number"
}
}
|