Class: Html2rss::FeedBuilder::Rss
- Inherits:
-
Object
- Object
- Html2rss::FeedBuilder::Rss
- Defined in:
- lib/html2rss/feed_builder/rss.rb,
lib/html2rss/feed_builder/rss/stylesheet.rb
Overview
Builds an RSS Feed by providing channel, articles and stylesheets.
Defined Under Namespace
Classes: Stylesheet
Class Method Summary collapse
Instance Method Summary collapse
-
#call ⇒ RSS::Rss
RSS 2.0 document instance.
-
#initialize(channel:, articles:, stylesheets: []) ⇒ Rss
constructor
A new instance of Rss.
Constructor Details
#initialize(channel:, articles:, stylesheets: []) ⇒ Rss
Returns a new instance of Rss.
64 65 66 67 68 |
# File 'lib/html2rss/feed_builder/rss.rb', line 64 def initialize(channel:, articles:, stylesheets: []) @channel = channel @articles = articles @stylesheets = stylesheets end |
Class Method Details
.add_enclosure(enclosure, maker) ⇒ void
This method returns an undefined value.
24 25 26 27 28 29 30 31 32 |
# File 'lib/html2rss/feed_builder/rss.rb', line 24 def add_enclosure(enclosure, maker) return unless enclosure maker.enclosure.tap do |enclosure_maker| enclosure_maker.url = enclosure.url.to_s enclosure_maker.type = enclosure.type enclosure_maker.length = enclosure.bytes_length end end |
.add_item(article, item_maker) ⇒ void
This method returns an undefined value.
14 15 16 17 18 19 |
# File 'lib/html2rss/feed_builder/rss.rb', line 14 def add_item(article, item_maker) add_item_string_values(article, item_maker) add_item_categories(article, item_maker) add_enclosure(article.enclosure, item_maker) add_item_guid(article, item_maker) end |
Instance Method Details
#call ⇒ RSS::Rss
Returns RSS 2.0 document instance.
71 72 73 74 75 76 77 78 |
# File 'lib/html2rss/feed_builder/rss.rb', line 71 def call RSS::Maker.make('2.0') do |maker| Stylesheet.add(maker, stylesheets) make_channel(maker.channel) make_items(maker) end end |