Skip to content

Instantly share code, notes, and snippets.

@ruurtjan
Created April 30, 2020 09:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ruurtjan/33a559250da5c2aa9ee928c87de8e18a to your computer and use it in GitHub Desktop.
Save ruurtjan/33a559250da5c2aa9ee928c87de8e18a to your computer and use it in GitHub Desktop.
functional-dsl-blog-2.scala
sealed trait EmailFilter
final case object Always extends EmailFilter
final case class Not(filter: EmailFilter) extends EmailFilter
final case class And(left: EmailFilter, right: EmailFilter) extends EmailFilter
final case class SenderEquals(target: Address) extends EmailFilter
final case class RecipientEquals(target: Address) extends EmailFilter
final case class BodyContains(phrase: String) extends EmailFilter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment