aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/models/FilterFactory.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/reading/models/FilterFactory.scala')
-rw-r--r--src/main/scala/reading/models/FilterFactory.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/scala/reading/models/FilterFactory.scala b/src/main/scala/reading/models/FilterFactory.scala
index 269af82..c7b9fbf 100644
--- a/src/main/scala/reading/models/FilterFactory.scala
+++ b/src/main/scala/reading/models/FilterFactory.scala
@@ -15,6 +15,16 @@ object FilterFactory {
}
}
+ implicit object GroupedTheme extends FilterFactory[GroupedTheme] {
+ def create(groupedTheme: GroupedTheme): Filter =
+ new Filter {
+ def filter(book: Book): Boolean = book.themes.map(Theme.groupedTheme).contains(groupedTheme)
+ val kind: FilterKind = FilterKind.GroupedTheme
+ val nonFormattedName: String = groupedTheme.toString()
+ val name: String = groupedTheme.prettyPrint()
+ }
+ }
+
implicit object ThemeFilter extends FilterFactory[Theme] {
def create(theme: Theme): Filter =
new Filter {