about summary refs log tree commit diff
path: root/app/serializers/rest/v1/filter_serializer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/serializers/rest/v1/filter_serializer.rb')
-rw-r--r--app/serializers/rest/v1/filter_serializer.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/serializers/rest/v1/filter_serializer.rb b/app/serializers/rest/v1/filter_serializer.rb
new file mode 100644
index 000000000..455f17efd
--- /dev/null
+++ b/app/serializers/rest/v1/filter_serializer.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+class REST::V1::FilterSerializer < ActiveModel::Serializer
+  attributes :id, :phrase, :context, :whole_word, :expires_at,
+             :irreversible
+
+  delegate :context, :expires_at, to: :custom_filter
+
+  def id
+    object.id.to_s
+  end
+
+  def phrase
+    object.keyword
+  end
+
+  def irreversible
+    custom_filter.irreversible?
+  end
+
+  private
+
+  def custom_filter
+    object.custom_filter
+  end
+end