]>
cat aescling's git repositories - mastodon.git/blob - app/lib/rss_builder.rb
1 # frozen_string_literal: true
6 @item = Ox
::Element.new('item')
10 @item << (Ox
::Element.new('title') << str
)
16 @item << Ox
::Element.new('guid').tap
do |guid
|
17 guid
['isPermalink'] = 'true'
21 @item << (Ox
::Element.new('link') << str
)
27 @item << (Ox
::Element.new('pubDate') << date
.to_formatted_s(:rfc822))
33 @item << (Ox
::Element.new('description') << str
)
38 def enclosure(url
, type
, size
)
39 @item << Ox
::Element.new('enclosure').tap
do |enclosure
|
40 enclosure
['url'] = url
41 enclosure
['length'] = size
42 enclosure
['type'] = type
54 @document = Ox
::Document.new(version: '1.0')
55 @channel = Ox
::Element.new('channel')
57 @document << (rss
<< @channel)
61 @channel << (Ox
::Element.new('title') << str
)
67 @channel << (Ox
::Element.new('link') << str
)
73 @channel << Ox
::Element.new('image').tap
do |image
|
74 image
<< (Ox
::Element.new('url') << str
)
75 image
<< (Ox
::Element.new('title') << '')
76 image
<< (Ox
::Element.new('link') << '')
79 @channel << (Ox
::Element.new('webfeeds:icon') << str
)
85 @channel << Ox
::Element.new('webfeeds:cover').tap
do |cover
|
93 @channel << (Ox
::Element.new('webfeeds:logo') << str
)
99 @channel << (Ox
::Element.new('webfeeds:accentColor') << str
)
105 @channel << (Ox
::Element.new('description') << str
)
111 @channel << ItemBuilder
.new
.tap
do |item
|
119 ('<?xml version="1.0" encoding="UTF-8"?>' + Ox
.dump(@document, effort
: :tolerant)).force_encoding('UTF-8')
125 Ox
::Element.new('rss').tap
do |rss
|
126 rss
['version'] = '2.0'
127 rss
['xmlns:webfeeds'] = 'http://webfeeds.org/rss/1.0'
This page took 0.1129 seconds and 4 git commands to generate.