Measure.scala 346 B

12345678910111213141516171819202122
  1. package models
  2. sealed trait Measure {
  3. def productPrefix: String
  4. def name: String = this.productPrefix.split("\\.").last
  5. def primaryUnit: Unit
  6. }
  7. case object Mass extends Measure
  8. {
  9. val primaryUnit = Gram
  10. }
  11. case object Volume extends Measure
  12. {
  13. val primaryUnit = Liter
  14. }
  15. case object Number extends Measure
  16. {
  17. val primaryUnit = Count
  18. }