Module: Html2rss::FeedBuilder::ItemPresentation

Defined in:
lib/html2rss/feed_builder/item_presentation.rb

Overview

Presentation rules for rendering an Article into feed wire formats.

Owns description enrichment (Html::Rendering::DescriptionBuilder) and RSS non-image enclosure selection. Article keeps raw extracted fields only.

Class Method Summary collapse

Class Method Details

.description_for(article) ⇒ String?

Returns sanitized description HTML/text for feed item bodies.

Parameters:

Returns:

  • (String, nil)

    sanitized description HTML/text for feed item bodies



15
16
17
18
19
20
21
22
23
# File 'lib/html2rss/feed_builder/item_presentation.rb', line 15

def description_for(article)
  Html::Rendering::DescriptionBuilder.new(
    base: article.description,
    title: article.title,
    url: article.url,
    enclosures: article.enclosures,
    image: article.image
  ).call
end

.rss_enclosure_for(article) ⇒ Html2rss::Article::Enclosure?

First non-image enclosure for RSS enclosure (images stay on description / JSON Feed).

Parameters:

Returns:



30
31
32
# File 'lib/html2rss/feed_builder/item_presentation.rb', line 30

def rss_enclosure_for(article)
  article.enclosures.find { |enc| !image_mime_type?(enc.type) }
end