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.scala33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/scala/reading/models/Level.scala b/src/main/scala/reading/models/Level.scala
new file mode 100644
index 0000000..1f7e153
--- /dev/null
+++ b/src/main/scala/reading/models/Level.scala
@@ -0,0 +1,33 @@
+package reading.models
+
+import enumeratum._
+
+sealed trait Level extends EnumEntry with Ordered[Level] {
+ import Level._
+
+ def compare(that: Level) = {
+ def toInt(level: Level): Int = level match {
+ case Sixieme => 6
+ case Cinquieme => 5
+ case Quatrieme => 4
+ case Troisieme => 3
+ }
+ toInt(that) - toInt(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
+}