diff options
author | Chris Rebert <code@rebertia.com> | 2015-04-14 06:13:40 +0300 |
---|---|---|
committer | Chris Rebert <code@rebertia.com> | 2015-04-14 06:13:40 +0300 |
commit | 22beb4cb7d1043af2b197f15882f9818c66d0604 (patch) | |
tree | e8b59854f8f625460005d53ecc8e94d9cc6dcbdd /src | |
parent | ee6ac4178ccb0c7655479179b2ed181d13d5c597 (diff) |
GitHub uses chrono order, so simplify: max => last
Diffstat (limited to 'src')
4 files changed, 3 insertions, 24 deletions
diff --git a/src/main/scala/com/getbootstrap/no_carrier/github/FancyIssue.scala b/src/main/scala/com/getbootstrap/no_carrier/github/FancyIssue.scala index 13a87aa..b04cce0 100644 --- a/src/main/scala/com/getbootstrap/no_carrier/github/FancyIssue.scala +++ b/src/main/scala/com/getbootstrap/no_carrier/github/FancyIssue.scala @@ -8,8 +8,8 @@ import InstantOrdering._ class FancyIssue(val issue: Issue, val label: String, val timeout: Duration)(implicit clock: Clock) { lazy val lastLabelledAt: Instant = issue.lastLabelledWithAt(label).get - lazy val lastCommentedOnAt: Option[Instant] = issue.smartComments.map{ _.createdAt.toInstant }.maxOption - lazy val lastClosedAt: Option[Instant] = issue.smartEvents.filter{ _.isClosed }.map{ _.createdAt.toInstant }.maxOption + lazy val lastCommentedOnAt: Option[Instant] = issue.smartComments.map{ _.createdAt.toInstant }.lastOption + lazy val lastClosedAt: Option[Instant] = issue.smartEvents.filter{ _.isClosed }.map{ _.createdAt.toInstant }.lastOption lazy val hasSubsequentComment: Boolean = lastCommentedOnAt match { case None => false case Some(commentedAt) => lastLabelledAt < commentedAt diff --git a/src/main/scala/com/getbootstrap/no_carrier/github/util/package.scala b/src/main/scala/com/getbootstrap/no_carrier/github/util/package.scala index 0984afa..c275bf0 100644 --- a/src/main/scala/com/getbootstrap/no_carrier/github/util/package.scala +++ b/src/main/scala/com/getbootstrap/no_carrier/github/util/package.scala @@ -29,7 +29,7 @@ package object util { def lastLabelledWithAt(label: String): Option[Instant] = { val labellings = issue.smartEvents.filter{ event => event.isLabeled && event.label == Some(label) } - labellings.map{ _.createdAt.toInstant }.maxOption + labellings.map{ _.createdAt.toInstant }.lastOption } } diff --git a/src/main/scala/com/getbootstrap/no_carrier/util/package.scala b/src/main/scala/com/getbootstrap/no_carrier/util/package.scala index 1645d84..6398ce3 100644 --- a/src/main/scala/com/getbootstrap/no_carrier/util/package.scala +++ b/src/main/scala/com/getbootstrap/no_carrier/util/package.scala @@ -15,10 +15,4 @@ package object util { deadline < now } } - - implicit class RichTraversableOnce[T](trav: TraversableOnce[T]) { - def maxOption(implicit cmp: Ordering[T]): Option[T] = { - if (trav.isEmpty) None else Some(trav.max) - } - } } diff --git a/src/test/scala/RichTraversableOnceSpec.scala b/src/test/scala/RichTraversableOnceSpec.scala deleted file mode 100644 index 8f236ee..0000000 --- a/src/test/scala/RichTraversableOnceSpec.scala +++ /dev/null @@ -1,15 +0,0 @@ -import org.specs2.mutable._ -import com.getbootstrap.no_carrier.util.RichTraversableOnce - -class RichTraversableOnceSpec extends Specification { - "maxOption" should { - "be None when the collection is empty" in { - val emptySeq: Seq[Int] = Seq() - emptySeq.maxOption must beNone - } - "be the maximum when the collection is non-empty" in { - Seq(7).maxOption mustEqual Some(7) - Seq(1, 2, 6, 5, 4).maxOption mustEqual Some(6) - } - } -} |