Class: Html2rss::FeedPipeline

Inherits:
Object
  • Object
show all
Defined in:
lib/html2rss/feed_pipeline.rb,
lib/html2rss/feed_pipeline/auto_fallback.rb

Overview

Coordinates feed generation pipeline stages.

Defined Under Namespace

Classes: AutoFallback

Instance Method Summary collapse

Constructor Details

#initialize(raw_config) ⇒ FeedPipeline

Returns a new instance of FeedPipeline.

Parameters:

  • raw_config (Hash{Symbol => Object})

    user-provided feed config



9
10
11
# File 'lib/html2rss/feed_pipeline.rb', line 9

def initialize(raw_config)
  @raw_config = raw_config
end

Instance Method Details

#to_json_feedHash

Returns generated JSONFeed 1.1 payload.

Returns:

  • (Hash)

    generated JSONFeed 1.1 payload



24
25
26
27
28
29
# File 'lib/html2rss/feed_pipeline.rb', line 24

def to_json_feed
  run do |response:, config:, articles:|
    channel = RssBuilder::Channel.new(response, overrides: config.channel)
    JsonFeedBuilder.new(channel:, articles:).call
  end
end

#to_rssRSS::Rss

Returns generated RSS feed.

Returns:

  • (RSS::Rss)

    generated RSS feed



15
16
17
18
19
20
# File 'lib/html2rss/feed_pipeline.rb', line 15

def to_rss
  run do |response:, config:, articles:|
    channel = RssBuilder::Channel.new(response, overrides: config.channel)
    RssBuilder.new(channel:, articles:, stylesheets: config.stylesheets).call
  end
end