I hereby claim:
- I am raboof on github.
- I am raboof (https://keybase.io/raboof) on keybase.
- I have a public key whose fingerprint is B354 2F13 5550 0168 DD4F F2FA 1431 BC1D 5327 EB56
To claim this, I am signing this object:
| implicit class PimpMyMap[A,B](map: Map[A,B]) { | |
| def mapValue(a: A, f: B =>B) = map.map { | |
| case (`a`, b) => (a, f(b)) | |
| case other => other | |
| } | |
| } |
| import akka.actor.ActorPath | |
| trait AtLeastOnceTransmission[A] extends akka.persistence.AtLeastOnceDelivery { | |
| private var unconfirmed = Map[A, Set[Long]]() | |
| def transmit(destination: ActorPath, transmissionId: A, message: Any): Unit = { | |
| deliver(destination, { deliveryId ⇒ | |
| unconfirmed = add(unconfirmed, transmissionId, deliveryId) | |
| message | |
| }) |
| def addItem(newItem: BasketItem): BasketState = { | |
| copy( | |
| items.foldRight((false, List.empty[BasketItem])) { | |
| case (item, (_, out)) if (item.matchesProductAndSizeOf(newItem)) ⇒ (true, item.incrementNumberBy(newItem.numberOfProducts) :: out) | |
| case (item, (didSomethingMatch, out)) ⇒ (didSomethingMatch, item :: out) | |
| } match { | |
| case (false, _) ⇒ newItem :: items | |
| case (true, modifiedItems) ⇒ modifiedItems | |
| } | |
| ) |
I hereby claim:
To claim this, I am signing this object: