Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sealed abstract class ShowUnapproved {
- def shallShow(post: Post): Boolean // a "post" is e.g. a comment
- }
- object ShowUnapproved {
- case object None extends ShowUnapproved {
- override def shallShow(post: Post) =
- post.someVersionApproved
- }
- case object All extends ShowUnapproved {
- override def shallShow(post: Post) = true
- }
- case class WrittenByUser(userId: String) extends ShowUnapproved {
- override def shallShow(post: Post) =
- post.userId == userId
- }
- }
- PageReneder.renderPage(page, ShowUnapproved.All)
- PageReneder.renderPage(page, ShowUnapproved.WrittenByUser(userId))
- val showUnapproved = ... // sounds like a Boolean but it is not
- val anyPendingApprovalText: NodeSeq =
- if (showUnapproved.shallShow(post)) makePendingApprovalText(post)
- else Nil
- // does `showUnapproved.shallShow` above sound good to you?
- sealed abstract class CommentVisibility {
- def shallShow(comment: Comment): Boolean
- }
- object CommentVisibility {
- case object HideUnapproved
- case object ShowUnapproved
- case class ShowAllByUser(userId)
- }
- renderPage(page, CommentVisibility.ShowUnapproved)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement