about summary refs log tree commit diff
path: root/app/lib/rss/media_content.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/lib/rss/media_content.rb')
-rw-r--r--app/lib/rss/media_content.rb35
1 files changed, 35 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..f281fe29e
--- /dev/null
+++ b/app/lib/rss/media_content.rb
@@ -0,0 +1,35 @@
+# 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
+
+  def thumbnail(str)
+    append_element('media:thumbnail') do |thumbnail|
+      thumbnail['url'] = str
+    end
+  end
+end