Skip to content

Commit d1eecc0

Browse files
Duncan McGregordmcg
authored andcommitted
single-expressions.20 : Extract divider
1 parent 7549871 commit d1eecc0

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/main/java/travelator/EmailAddress.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ data class EmailAddress(
1010
companion object {
1111
@JvmStatic
1212
fun parse(value: String): EmailAddress {
13-
val (leftPart, rightPart) = split(value)
13+
val (leftPart, rightPart) = value.split('@')
1414
return EmailAddress(
1515
leftPart,
1616
rightPart
1717
)
1818
}
1919

20-
private fun split(value: String): Pair<String, String> {
21-
val atIndex = value.lastIndexOf('@')
22-
require(!(atIndex < 1 || atIndex == value.length - 1)) {
20+
private fun String.split(divider: Char): Pair<String, String> {
21+
val atIndex = lastIndexOf(divider)
22+
require(!(atIndex < 1 || atIndex == length - 1)) {
2323
"EmailAddress must be two parts separated by @"
2424
}
25-
val leftPart = value.substring(0, atIndex)
26-
val rightPart = value.substring(atIndex + 1)
25+
val leftPart = substring(0, atIndex)
26+
val rightPart = substring(atIndex + 1)
2727
return Pair(leftPart, rightPart)
2828
}
2929
}

0 commit comments

Comments
 (0)