diff options
Diffstat (limited to 'src/main/scala/reading/models/GroupedTheme.scala')
-rw-r--r-- | src/main/scala/reading/models/GroupedTheme.scala | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/scala/reading/models/GroupedTheme.scala b/src/main/scala/reading/models/GroupedTheme.scala index 61a5281..1a26bc1 100644 --- a/src/main/scala/reading/models/GroupedTheme.scala +++ b/src/main/scala/reading/models/GroupedTheme.scala @@ -39,4 +39,23 @@ object GroupedTheme extends Enum[GroupedTheme] { case object Mort extends GroupedTheme case object Difference extends GroupedTheme case object Imaginaire extends GroupedTheme + + def from(theme: Theme): GroupedTheme = { + import Theme._ + + theme match { + case Art | Americain | Danse | Litterature | Musique | Mythologie | Poetique | Reecriture | Sport => Culture + case Nature | Aventure | Initiation | Pirate | Voyage | Animal => Decouverte + case Dragon | Magie => Imaginaire + case Mutant | Beaute | Handicap | Homosexualite | Laideur | Metamorphose | Marginalite | Migration | Metissage | Pauvrete | Discrimination => Difference + case Maltraitance | Viol | Combat | Conflit | Crime | Harcelement | Exclusion | Racisme | Antisemitisme | SegregationRaciale | Prison => Violence + case Chevalerie | Cour | Dictature | Guerre | Nazisme | Revolution => Histoire + case Theme.Humour => GroupedTheme.Humour + case Enquete | Manipulation | Mensonge | Secret | Espionnage | Complot => Stratageme + case Fantome | Folie | Malediction | Vampire | Monstrueux => Peur + case Suicide | Deuil | Maladie | Immortalite | Vieillesse => Mort + case Adolescence | Amour | Amitie | Apprentissage | College | Ecole | Emancipation | Sentiment | Sexualite | Enfants | Femme | Parents | Famille => Quotidien + case Genetique | Internet | JeuVideo | Robot => Technologie + } + } } |