diff options
author | Joris | 2017-01-09 22:47:55 +0100 |
---|---|---|
committer | Joris | 2017-01-09 22:47:55 +0100 |
commit | f2264cf9176a7807a7993872cc1c2c437617c0b2 (patch) | |
tree | 6305075d29b8973ea073bf7d4c3aa296ee25b371 /src/main/scala/reading/models/Level.scala | |
parent | b1b6cf18ee0da5d729c35800817c306bea64e73e (diff) | |
download | reading-f2264cf9176a7807a7993872cc1c2c437617c0b2.tar.gz reading-f2264cf9176a7807a7993872cc1c2c437617c0b2.tar.bz2 reading-f2264cf9176a7807a7993872cc1c2c437617c0b2.zip |
Add books
Diffstat (limited to 'src/main/scala/reading/models/Level.scala')
-rw-r--r-- | src/main/scala/reading/models/Level.scala | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/src/main/scala/reading/models/Level.scala b/src/main/scala/reading/models/Level.scala index c297912..ebec020 100644 --- a/src/main/scala/reading/models/Level.scala +++ b/src/main/scala/reading/models/Level.scala @@ -1,22 +1,25 @@ package reading.models -object Level { - val filters: Seq[Filter] = - Seq( - new Filter { - def filter(book: Book): Boolean = book.pages < 200 - val kind: FilterKind = LevelKind - val name: String = "facile" - }, - new Filter { - def filter(book: Book): Boolean = book.pages >= 200 && book.pages < 400 - val kind: FilterKind = LevelKind - val name: String = "moyen" - }, - new Filter { - def filter(book: Book): Boolean = book.pages > 400 - val kind: FilterKind = LevelKind - val name: String = "difficile" - } - ) +import enumeratum._ + +sealed trait Level extends EnumEntry with Ordered[Level] { + import Level._ + + def compare(that: Level): Int = { + values.indexOf(that) - values.indexOf(this) + } + + override def toString(): String = this match { + case Facile => "facile" + case Moyen => "moyen" + case Difficile => "difficile" + } +} + +object Level extends Enum[Level] { + val values = findValues + + case object Facile extends Level + case object Moyen extends Level + case object Difficile extends Level } |