app/com/gu/memsub/Plan.scala (18 lines of code) (raw):
package com.gu.memsub
sealed trait Status {
def name: String
}
case class Legacy() extends Status {
override val name: String = "legacy"
}
case class Current() extends Status {
override val name: String = "current"
}
case class Upcoming() extends Status {
override val name: String = "upcoming"
}
object Status {
val legacy = Legacy()
val current = Current()
val upcoming = Upcoming()
}