Skip to content

Commit 965f902

Browse files
committed
Only new feed return_feeds
1 parent b9d4081 commit 965f902

File tree

1 file changed

+29
-4
lines changed

1 file changed

+29
-4
lines changed

plugins/store/database.rb

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
# Name:: Automatic::Plugin::Store::Database
33
# Author:: kzgs
44
# 774 <http://id774.net>
5+
# soramugi <http://soramugi.net>
56
# Created:: Feb 27, 2012
6-
# Updated:: Sep 18, 2012
7+
# Updated:: Dec 13, 2012
78
# Copyright:: kzgs Copyright (c) 2012
89
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
910

1011
require 'active_record'
12+
require 'rss'
1113

1214
module Automatic::Plugin
1315
module Database
@@ -17,23 +19,46 @@ def for_each_new_feed
1719
@return_feeds = []
1820
@pipeline.each {|feeds|
1921
unless feeds.nil?
20-
new_feed = false
22+
new_feeds = []
2123
feeds.items.each {|feed|
2224
unless feed.link.nil?
2325
unless existing_records.detect {|b| b.try(unique_key) == feed.link }
2426
yield(feed)
25-
new_feed = true
27+
new_feeds << feed
2628
end
2729
end
2830
}
29-
@return_feeds << feeds if new_feed
31+
@return_feeds << create_rss(new_feeds)
3032
end
3133
}
3234
@return_feeds
3335
end
3436

3537
private
3638

39+
def create_rss(feeds)
40+
RSS::Maker.make("2.0") {|maker|
41+
xss = maker.xml_stylesheets.new_xml_stylesheet
42+
xss.href = "http://www.rssboard.org/rss-specification"
43+
maker.channel.about = "http://feeds.rssboard.org/rssboard"
44+
maker.channel.title = "Automatic Ruby"
45+
maker.channel.description = "Automatic Ruby"
46+
maker.channel.link = "http://www.rssboard.org/rss-specification"
47+
maker.items.do_sort = true
48+
unless feeds.nil?
49+
feeds.each {|feed|
50+
unless feed.link.nil?
51+
item = maker.items.new_item
52+
item.title = feed.title
53+
item.link = feed.link
54+
item.date = Time.now
55+
item.description = "Automatic::Plugin::Store::Database"
56+
end
57+
}
58+
end
59+
}
60+
end
61+
3762
def create_table
3863
ActiveRecord::Migration.create_table(model_class.table_name) {|t|
3964
column_definition.each_pair {|column_name, column_type|

0 commit comments

Comments
 (0)