module Automatic::FeedMaker

Public Class Methods

content_provide(url, data) click to toggle source
# File lib/automatic/feed_maker.rb, line 64
def self.content_provide(url, data)
  RSS::Maker.make("2.0") {|maker|
    xss = maker.xml_stylesheets.new_xml_stylesheet
    maker.channel.title = "Automatic Ruby"
    maker.channel.description = "Automatic::FeedMaker"
    maker.channel.link = "https://github.com/automaticruby/automaticruby"
    maker.items.do_sort = true
    item = maker.items.new_item
    item.title = "Automatic Ruby"
    item.link = url
    item.content_encoded = data
    item.date = Time.now
  }
end
create_pipeline(feeds = []) click to toggle source
# File lib/automatic/feed_maker.rb, line 35
def self.create_pipeline(feeds = [])
  RSS::Maker.make("2.0") {|maker|
    xss = maker.xml_stylesheets.new_xml_stylesheet
    maker.channel.title = "Automatic Ruby"
    maker.channel.description = "Automatic::FeedMaker"
    maker.channel.link = "https://github.com/automaticruby/automaticruby"
    maker.items.do_sort = true

    unless feeds.nil?
      feeds.each {|feed|
        unless feed.link.nil?
          Automatic::Log.puts("info", "Create Pipeline: #{feed.link}")
          item = maker.items.new_item
          item.title = feed.title
          item.link = feed.link
          begin
            item.description = feed.description
            item.author = feed.author
            item.comments = feed.comments
            item.date = feed.pubDate || Time.now
          rescue NoMethodError
            Automatic::Log.puts("warn", "Undefined field detected in feed.")
          end
        end
      }
    end
  }
end
generate_feed(feed) click to toggle source
# File lib/automatic/feed_maker.rb, line 25
def self.generate_feed(feed)
  feed_object = FeedObject.new
  feed_object.title = feed['title'] unless feed['title'].nil?
  feed_object.link = feed['url'] unless feed['url'].nil?
  feed_object.description = feed['description'] unless feed['description'].nil?
  feed_object.author = feed['author'] unless feed['author'].nil?
  feed_object.comments = feed['comments'] unless feed['comments'].nil?
  feed_object
end