about summary refs log tree commit diff
path: root/app/lib/rss/media_content.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2022-05-09 07:43:08 +0200
committerGitHub <noreply@github.com>2022-05-09 07:43:08 +0200
commit2b8dc58b7ff7fb708687c08a75c99b3fb30efc49 (patch)
tree6145e0c99b5550ad80d902b67a76278e0753ac69 /app/lib/rss/media_content.rb
parentf17e73da09e6c63665aee4e9731df7808094960e (diff)
Change RSS feeds (#18356)
* Change RSS feeds

- Use date and time for titles instead of ellipsized text
- Use full content in body, even when there is a content warning
- Use media extensions

* Change feed icons and add width and height attributes to custom emojis

* Fix custom emoji animate on hover breaking

* Fix tests
Diffstat (limited to 'app/lib/rss/media_content.rb')
-rw-r--r--app/lib/rss/media_content.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/app/lib/rss/media_content.rb b/app/lib/rss/media_content.rb
new file mode 100644
index 000000000..7aefd8b40
--- /dev/null
+++ b/app/lib/rss/media_content.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+class RSS::MediaContent < RSS::Element
+  def initialize(url, type, size)
+    super()
+
+    @root = create_element('media:content') do |content|
+      content['url']      = url
+      content['type']     = type
+      content['fileSize'] = size
+    end
+  end
+
+  def medium(str)
+    @root['medium'] = str
+  end
+
+  def rating(str)
+    append_element('media:rating', str) do |rating|
+      rating['scheme'] = 'urn:simple'
+    end
+  end
+
+  def description(str)
+    append_element('media:description', str) do |description|
+      description['type'] = 'plain'
+    end
+  end
+end