aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/models/Level.scala
diff options
context:
space:
mode:
authorJoris2017-01-09 22:47:55 +0100
committerJoris2017-01-09 22:47:55 +0100
commitf2264cf9176a7807a7993872cc1c2c437617c0b2 (patch)
tree6305075d29b8973ea073bf7d4c3aa296ee25b371 /src/main/scala/reading/models/Level.scala
parentb1b6cf18ee0da5d729c35800817c306bea64e73e (diff)
downloadreading-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.scala41
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
}