about summary refs log tree commit diff
path: root/app/serializers/rest/extended_description_serializer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/serializers/rest/extended_description_serializer.rb')
-rw-r--r--app/serializers/rest/extended_description_serializer.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/app/serializers/rest/extended_description_serializer.rb b/app/serializers/rest/extended_description_serializer.rb
new file mode 100644
index 000000000..c0fa3450d
--- /dev/null
+++ b/app/serializers/rest/extended_description_serializer.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+class REST::ExtendedDescriptionSerializer < ActiveModel::Serializer
+  attributes :updated_at, :content
+
+  def updated_at
+    object.updated_at&.iso8601
+  end
+
+  def content
+    if object.text.present?
+      markdown.render(object.text)
+    else
+      ''
+    end
+  end
+
+  private
+
+  def markdown
+    @markdown ||= Redcarpet::Markdown.new(Redcarpet::Render::HTML)
+  end
+end