aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/models/Genre.scala
blob: db08d24c784a217bf595f4e08e71ff8bd76c4e6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package reading.models

import enumeratum._

sealed trait Genre extends EnumEntry with Ordered[Genre] {
  import Genre._

  def compare(that: Genre): Int = {
    values.indexOf(that) - values.indexOf(this)
  }

  def prettyPrint(): String = this match {
    case JournalIntime => "journal intime"
    case RomanHistorique => "roman historique"
    case Policier => "policier"
    case Fantastique => "fantastique"
    case Fantasy => "fantasy"
    case Merveilleux => "merveilleux"
    case SF => "science fiction"
    case BD => "bande dessinée"
    case RomanAventure => "roman d'aventure"
    case Comique => "comique"
    case Dystopie => "dystopie"
  }
}

object Genre extends Enum[Genre] {
  val values = findValues

  case object JournalIntime extends Genre
  case object RomanHistorique extends Genre
  case object Policier extends Genre
  case object Fantastique extends Genre
  case object Fantasy extends Genre
  case object Merveilleux extends Genre
  case object SF extends Genre
  case object BD extends Genre
  case object RomanAventure extends Genre
  case object Comique extends Genre
  case object Dystopie extends Genre
}