Sha256: 76bc3b687071b6c2191a4c2281275b3228738e89a139f3580eb23df4e0d3be4f
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
require 'rss' require_relative 'item' module Html2rss class FeedBuilder attr_reader :config def initialize(feed_config) @config = feed_config end def rss RSS::Maker.make('2.0') do |maker| add_channel_to_maker(maker) feed_items.map do |feed_item| add_item_to_items(feed_item, maker.items) end end end private def add_channel_to_maker(maker) [:language, :author, :title, :description, :link, :ttl].each do |attribute_name| maker.channel.send("#{attribute_name}=".to_sym, config.send(attribute_name)) end maker.channel.generator = "html2rss V. #{::Html2rss::VERSION}" maker.channel.lastBuildDate = Time.now.to_s end def feed_items Item.from_url config.url, config end def add_item_to_items(feed_item, items) items.new_item do |rss_item| config.attribute_names.each do |attribute_name| rss_item.send("#{attribute_name}=".to_sym, feed_item.send(attribute_name)) rss_item.guid.content = Digest::SHA1.hexdigest(feed_item.title) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
html2rss-0.0.1 | lib/html2rss/feed_builder.rb |