aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/models/Level.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/reading/models/Level.scala')
-rw-r--r--src/main/scala/reading/models/Level.scala43
1 files changed, 19 insertions, 24 deletions
diff --git a/src/main/scala/reading/models/Level.scala b/src/main/scala/reading/models/Level.scala
index 329c720..c297912 100644
--- a/src/main/scala/reading/models/Level.scala
+++ b/src/main/scala/reading/models/Level.scala
@@ -1,27 +1,22 @@
package reading.models
-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 Sixieme => "6ème"
- case Cinquieme => "5ème"
- case Quatrieme => "4ème"
- case Troisieme => "3ème"
- }
-}
-
-object Level extends Enum[Level] {
- val values = findValues
-
- case object Sixieme extends Level
- case object Cinquieme extends Level
- case object Quatrieme extends Level
- case object Troisieme extends Level
+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"
+ }
+ )
}