Module: Automatic::FeedMaker

Defined in:
lib/automatic/feed_maker.rb

Defined Under Namespace

Classes: FeedObject

Class Method Summary collapse

Class Method Details

.content_provide(url, data) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/automatic/feed_maker.rb', line 65

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 = []) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/automatic/feed_maker.rb', line 36

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) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'lib/automatic/feed_maker.rb', line 26

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