automatic 13.5.0 → 13.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. data/Gemfile +11 -5
  2. data/README.md +4 -6
  3. data/VERSION +1 -1
  4. data/automatic.gemspec +61 -18
  5. data/doc/ChangeLog +25 -0
  6. data/doc/PLUGINS +202 -12
  7. data/doc/PLUGINS.ja +221 -30
  8. data/doc/README +1 -1
  9. data/doc/README.ja +1 -1
  10. data/lib/automatic.rb +3 -3
  11. data/lib/automatic/feed_parser.rb +2 -2
  12. data/lib/automatic/log.rb +12 -2
  13. data/lib/automatic/pipeline.rb +1 -1
  14. data/lib/automatic/recipe.rb +5 -2
  15. data/plugins/custom_feed/svn_log.rb +3 -3
  16. data/plugins/filter/absolute_uri.rb +8 -4
  17. data/plugins/filter/accept.rb +61 -0
  18. data/plugins/filter/full_feed.rb +4 -5
  19. data/plugins/filter/github_feed.rb +36 -0
  20. data/plugins/filter/ignore.rb +1 -1
  21. data/plugins/filter/image.rb +1 -1
  22. data/plugins/filter/image_source.rb +34 -10
  23. data/plugins/filter/one.rb +1 -1
  24. data/plugins/filter/rand.rb +1 -1
  25. data/plugins/filter/sanitize.rb +50 -0
  26. data/plugins/filter/sort.rb +1 -1
  27. data/plugins/filter/tumblr_resize.rb +1 -1
  28. data/plugins/publish/console.rb +3 -3
  29. data/plugins/publish/console_link.rb +30 -0
  30. data/plugins/publish/eject.rb +42 -0
  31. data/plugins/publish/fluentd.rb +42 -0
  32. data/plugins/publish/google_calendar.rb +3 -3
  33. data/plugins/publish/hatena_bookmark.rb +1 -1
  34. data/plugins/publish/hipchat.rb +45 -0
  35. data/plugins/publish/instapaper.rb +2 -1
  36. data/plugins/publish/memcached.rb +44 -0
  37. data/plugins/publish/pocket.rb +1 -1
  38. data/plugins/publish/twitter.rb +1 -1
  39. data/plugins/store/database.rb +3 -3
  40. data/plugins/store/full_text.rb +2 -2
  41. data/plugins/store/permalink.rb +1 -1
  42. data/plugins/store/target_link.rb +3 -2
  43. data/plugins/subscription/chan_toru.rb +56 -0
  44. data/plugins/subscription/feed.rb +1 -1
  45. data/plugins/subscription/g_guide.rb +48 -0
  46. data/plugins/subscription/google_reader_star.rb +3 -3
  47. data/plugins/subscription/link.rb +2 -2
  48. data/plugins/subscription/pocket.rb +49 -0
  49. data/plugins/subscription/text.rb +3 -12
  50. data/plugins/subscription/tumblr.rb +7 -1
  51. data/plugins/subscription/twitter.rb +1 -1
  52. data/plugins/subscription/twitter_search.rb +50 -0
  53. data/plugins/subscription/weather.rb +7 -41
  54. data/script/build +3 -0
  55. data/spec/fixtures/sampleRecipe.yml +1 -1
  56. data/spec/lib/automatic/log_spec.rb +31 -0
  57. data/spec/lib/automatic/pipeline_spec.rb +1 -1
  58. data/spec/lib/automatic/recipe_spec.rb +1 -1
  59. data/spec/lib/automatic_spec.rb +3 -3
  60. data/spec/plugins/custom_feed/svn_log_spec.rb +1 -1
  61. data/spec/plugins/filter/absolute_uri_spec.rb +1 -1
  62. data/spec/plugins/filter/accept_spec.rb +331 -0
  63. data/spec/plugins/filter/full_feed_spec.rb +4 -6
  64. data/spec/plugins/filter/github_feed_spec.rb +54 -0
  65. data/spec/plugins/filter/ignore_spec.rb +1 -1
  66. data/spec/plugins/filter/image_source_spec.rb +17 -3
  67. data/spec/plugins/filter/image_spec.rb +1 -1
  68. data/spec/plugins/filter/one_spec.rb +1 -1
  69. data/spec/plugins/filter/rand_spec.rb +1 -1
  70. data/spec/plugins/filter/sanitize_spec.rb +153 -0
  71. data/spec/plugins/filter/sort_spec.rb +1 -1
  72. data/spec/plugins/filter/tumblr_resize_spec.rb +1 -1
  73. data/spec/plugins/notify/ikachan_spec.rb +1 -1
  74. data/spec/plugins/publish/console_spec.rb +1 -1
  75. data/spec/plugins/publish/eject_spec.rb +40 -0
  76. data/spec/plugins/publish/fluentd_spec.rb +39 -0
  77. data/spec/plugins/publish/google_calendar_spec.rb +1 -1
  78. data/spec/plugins/publish/hatena_bookmark_spec.rb +1 -1
  79. data/spec/plugins/publish/hipchat_spec.rb +69 -0
  80. data/spec/plugins/publish/instapaper_spec.rb +42 -28
  81. data/spec/plugins/publish/memcached_spec.rb +63 -0
  82. data/spec/plugins/publish/pocket_spec.rb +33 -33
  83. data/spec/plugins/publish/twitter_spec.rb +57 -19
  84. data/spec/plugins/store/full_text_spec.rb +6 -1
  85. data/spec/plugins/store/permalink_spec.rb +18 -19
  86. data/spec/plugins/store/target_link_spec.rb +1 -1
  87. data/spec/plugins/subscription/chan_toru_spec.rb +56 -0
  88. data/spec/plugins/subscription/feed_spec.rb +1 -1
  89. data/spec/plugins/subscription/g_guide_spec.rb +76 -0
  90. data/spec/plugins/subscription/google_reader_star_spec.rb +1 -1
  91. data/spec/plugins/subscription/link_spec.rb +1 -1
  92. data/spec/plugins/subscription/pocket_spec.rb +57 -0
  93. data/spec/plugins/subscription/text_spec.rb +1 -14
  94. data/spec/plugins/subscription/tumblr_spec.rb +3 -2
  95. data/spec/plugins/subscription/twitter_search_spec.rb +57 -0
  96. data/spec/plugins/subscription/twitter_spec.rb +3 -2
  97. data/spec/plugins/subscription/weather_spec.rb +2 -15
  98. data/spec/spec_helper.rb +1 -0
  99. data/test/integration/test_chan_toru.yml +19 -0
  100. data/test/integration/test_fluentd.yml +20 -0
  101. data/test/integration/test_pocket.yml +21 -0
  102. data/test/integration/test_sanitize.yml +22 -0
  103. data/test/integration/test_twitter_search.yml +21 -0
  104. metadata +145 -24
  105. data/plugins/publish/mail.rb +0 -64
  106. data/plugins/publish/smtp.rb +0 -48
  107. data/spec/plugins/publish/mail_spec.rb +0 -53
  108. data/spec/plugins/publish/smtp_spec.rb +0 -49
@@ -3,7 +3,7 @@
3
3
  # Author:: 774 <http://id774.net>
4
4
  # Created:: Feb 24, 2012
5
5
  # Updated:: Jan 8, 2013
6
- # Copyright:: 774 Copyright (c) 2012-2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
8
 
9
9
  module Automatic::Plugin
@@ -37,8 +37,8 @@ module Automatic::Plugin
37
37
  end
38
38
  end
39
39
 
40
- puts "日付 : #{date}"
41
- puts "タイトル : #{text}"
40
+ Automatic::Log.puts("info", "日付 : #{date}")
41
+ Automatic::Log.puts("info", "タイトル : #{text}")
42
42
 
43
43
  # Register to calendar
44
44
  require 'rubygems'
@@ -3,7 +3,7 @@
3
3
  # Author:: 774 <http://id774.net>
4
4
  # Created:: Feb 22, 2012
5
5
  # Updated:: Mar 7, 2013
6
- # Copyright:: 774 Copyright (c) 2012-2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
8
 
9
9
  module Automatic::Plugin
@@ -0,0 +1,45 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Name:: Automatic::Plugin::Publish::Hipchat
3
+ # Author:: Kohei Hasegawa <http://github.com/banyan>
4
+ # Created:: Jun 6, 2013
5
+ # Updated:: Jun 6, 2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
+
9
+ module Automatic::Plugin
10
+ require 'hipchat'
11
+
12
+ class PublishHipchat
13
+ def initialize(config, pipeline=[])
14
+ @config = config
15
+ @pipeline = pipeline
16
+ @options = {
17
+ 'color' => 'yellow',
18
+ 'notify' => false
19
+ }
20
+ @options.merge!(@config.select { |k, v| @options.include?(k) })
21
+ @client = HipChat::Client.new(@config['api_token'])[@config['room_id']]
22
+ end
23
+
24
+ def run
25
+ @pipeline.each {|feeds|
26
+ unless feeds.nil?
27
+ feeds.items.each {|feed|
28
+ retries = 0
29
+ begin
30
+ @client.send(@config['username'], feed.description, @options)
31
+ Automatic::Log.puts("info", "post: #{feed.description.gsub(/[\r\n]/,'')[0..50]}...") rescue nil
32
+ rescue => e
33
+ retries += 1
34
+ Automatic::Log.puts("error", "ErrorCount: #{retries}, #{e.message}")
35
+ sleep @config['interval'].to_i unless @config['interval'].nil?
36
+ retry if retries <= @config['retry'].to_i unless @config['retry'].nil?
37
+ end
38
+ sleep @config['interval'].to_i unless @config['interval'].nil?
39
+ }
40
+ end
41
+ }
42
+ @pipeline
43
+ end
44
+ end
45
+ end
@@ -4,7 +4,7 @@
4
4
  # 774 <http://id774.net>
5
5
  # Created:: Feb 9, 2013
6
6
  # Updated:: Mar 23, 2013
7
- # Copyright:: soramugi Copyright (c) 2013
7
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
8
8
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
9
 
10
10
  module Automatic::Plugin
@@ -32,6 +32,7 @@ module Automatic::Plugin
32
32
  Automatic::Log.puts(:info, message)
33
33
  else
34
34
  Automatic::Log.puts(:error, "#{res.code} Error: #{url}")
35
+ raise
35
36
  end
36
37
  end
37
38
 
@@ -0,0 +1,44 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Name:: Automatic::Plugin::Publish::Memcached
3
+ # Author:: 774 <http://id774.net>
4
+ # Created:: Jun 25, 2013
5
+ # Updated:: Jun 25, 2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
+
9
+ module Automatic::Plugin
10
+ class PublishMemcached
11
+ require 'dalli'
12
+
13
+ def initialize(config, pipeline=[])
14
+ @config = config
15
+ @pipeline = pipeline
16
+ @cache = Dalli::Client.new(
17
+ @config['host'] + ":" +
18
+ @config['port'])
19
+ end
20
+
21
+ def run
22
+ hash = {}
23
+ @pipeline.each {|feeds|
24
+ unless feeds.nil?
25
+ feeds.items.each {|feed|
26
+ hash[feed.link] =
27
+ {
28
+ :title => feed.title,
29
+ :description => feed.description,
30
+ :content => feed.content_encoded,
31
+ :created_at => Time.now.strftime("%Y/%m/%d %X")
32
+ }
33
+ }
34
+ end
35
+ }
36
+ begin
37
+ @cache.set(@config['key'], hash)
38
+ rescue
39
+ Automatic::Log.puts("warn", "Skip feed due to fault in put to memcached.")
40
+ end
41
+ @pipeline
42
+ end
43
+ end
44
+ end
@@ -3,7 +3,7 @@
3
3
  # Author:: soramugi <http://soramugi.net>
4
4
  # Created:: May 15, 2013
5
5
  # Updated:: May 15, 2013
6
- # Copyright:: soramugi Copyright (c) 2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
8
 
9
9
  module Automatic::Plugin
@@ -3,7 +3,7 @@
3
3
  # Author:: soramugi <http://soramugi.net>
4
4
  # Created:: May 5, 2013
5
5
  # Updated:: May 5, 2013
6
- # Copyright:: soramugi Copyright (c) 2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
8
 
9
9
  module Automatic::Plugin
@@ -4,8 +4,8 @@
4
4
  # 774 <http://id774.net>
5
5
  # soramugi <http://soramugi.net>
6
6
  # Created:: Feb 27, 2012
7
- # Updated:: Dec 20, 2012
8
- # Copyright:: kzgs Copyright (c) 2012
7
+ # Updated:: Jun 27, 2013
8
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
9
9
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
10
10
 
11
11
  require 'active_record'
@@ -14,7 +14,7 @@ module Automatic::Plugin
14
14
  module Database
15
15
  def for_each_new_feed
16
16
  prepare_database
17
- existing_records = model_class.find(:all)
17
+ existing_records = model_class.all
18
18
  @return_feeds = []
19
19
  @pipeline.each {|feeds|
20
20
  unless feeds.nil?
@@ -3,7 +3,7 @@
3
3
  # Author:: 774 <http://id774.net>
4
4
  # Created:: Feb 26, 2012
5
5
  # Updated:: Jun 14, 2012
6
- # Copyright:: 774 Copyright (c) 2012
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
8
 
9
9
  require 'plugins/store/database'
@@ -39,7 +39,7 @@ module Automatic::Plugin
39
39
  end
40
40
 
41
41
  def run
42
- for_each_new_feed { |feed|
42
+ for_each_new_feed {|feed|
43
43
  Automatic::Log.puts("info", "Saving: #{feed.link}")
44
44
  begin
45
45
  Blog.create(
@@ -4,7 +4,7 @@
4
4
  # Author:: 774 <http://id774.net>
5
5
  # Created:: Feb 22, 2012
6
6
  # Updated:: Sep 18, 2012
7
- # Copyright:: 774 Copyright (c) 2012
7
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
8
8
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
9
 
10
10
  require 'plugins/store/database'
@@ -4,7 +4,7 @@
4
4
  # Author:: 774 <http://id774.net>
5
5
  # Created:: Feb 28, 2012
6
6
  # Updated:: Feb 9, 2013
7
- # Copyright:: 774 Copyright (c) 2012-2013
7
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
8
8
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
9
 
10
10
  require 'open-uri'
@@ -23,6 +23,7 @@ module Automatic::Plugin
23
23
  feeds.items.each {|feed|
24
24
  unless feed.link.nil?
25
25
  Automatic::Log.puts("info", "Downloading: #{feed.link}")
26
+ FileUtils.mkdir_p(@config['path']) unless FileTest.exist?(@config['path'])
26
27
  retries = 0
27
28
  begin
28
29
  retries += 1
@@ -43,7 +44,7 @@ module Automatic::Plugin
43
44
  private
44
45
  def wget(url)
45
46
  filename = url.split(/\//).last
46
- open(url) { |source|
47
+ open(url) {|source|
47
48
  open(File.join(@config['path'], filename), "w+b") { |o|
48
49
  o.print source.read
49
50
  }
@@ -0,0 +1,56 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Name:: Automatic::Plugin::Subscription::ChanToru
3
+ # Author:: soramugi <http://soramugi.net>
4
+ # Created:: Jun 28, 2013
5
+ # Updated:: Jun 28, 2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
+
9
+ require File.expand_path(File.dirname(__FILE__) + '/g_guide')
10
+
11
+ module Automatic::Plugin
12
+ class SubscriptionChanToru
13
+
14
+ def initialize(config, pipeline=[])
15
+ @config = config
16
+ @pipeline = pipeline
17
+ end
18
+
19
+ def g_guide_pipeline
20
+ SubscriptionGGuide.new(@config, @pipeline).run
21
+ end
22
+
23
+ def run
24
+ retries = 0
25
+ begin
26
+ pipeline = g_guide_pipeline
27
+ pipeline.each {|feeds|
28
+ feeds.items.each {|feed|
29
+ feed = link_change(feed)
30
+ }
31
+ }
32
+ @pipeline = pipeline
33
+ rescue
34
+ retries += 1
35
+ Automatic::Log.puts("error", "ErrorCount: #{retries}, Fault in parsing: #{retries}")
36
+ sleep @config['interval'].to_i unless @config['interval'].nil?
37
+ retry if retries <= @config['retry'].to_i unless @config['retry'].nil?
38
+ end
39
+
40
+ @pipeline
41
+ end
42
+
43
+ def link_change(feed)
44
+ feed.link.gsub(/([0-9]+)/) do |pid|
45
+ if pid != ''
46
+ feed.link = "https://tv.so-net.ne.jp/chan-toru/intent" +
47
+ "?cat=1&area=23&pid=#{pid}&from=tw"
48
+ else
49
+ feed.link = nil
50
+ end
51
+ end
52
+ feed
53
+ end
54
+
55
+ end
56
+ end
@@ -3,7 +3,7 @@
3
3
  # Author:: 774 <http://id774.net>
4
4
  # Created:: Feb 22, 2012
5
5
  # Updated:: Feb 8, 2013
6
- # Copyright:: 774 Copyright (c) 2012-2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
8
 
9
9
  module Automatic::Plugin
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Name:: Automatic::Plugin::Subscription::GGuide
3
+ # Author:: soramugi <http://soramugi.net>
4
+ # Created:: Jun 28, 2013
5
+ # Updated:: Jun 28, 2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
+
9
+ module Automatic::Plugin
10
+ class SubscriptionGGuide
11
+ G_GUIDE_RSS = 'http://tv.so-net.ne.jp/rss/schedulesBySearch.action?'
12
+
13
+ def initialize(config, pipeline=[])
14
+ @config = config
15
+ @pipeline = pipeline
16
+ end
17
+
18
+ def run
19
+ retries = 0
20
+ begin
21
+ @pipeline << Automatic::FeedParser.get(feed_url)
22
+ rescue
23
+ retries += 1
24
+ Automatic::Log.puts("error", "ErrorCount: #{retries}, Fault in parsing: #{retries}")
25
+ sleep @config['interval'].to_i unless @config['interval'].nil?
26
+ retry if retries <= @config['retry'].to_i unless @config['retry'].nil?
27
+ end
28
+ @pipeline
29
+ end
30
+
31
+ def feed_url
32
+ feed = G_GUIDE_RSS
33
+ unless @config['keyword'].nil?
34
+ feed += "condition.keyword=#{@config['keyword']}&"
35
+ end
36
+ feed += station_param
37
+ URI.encode(feed)
38
+ end
39
+
40
+ def station_param
41
+ station = 0
42
+ unless @config['station'].nil?
43
+ station = '1' if @config['station'] == '地上波'
44
+ end
45
+ "stationPlatformId=#{station}&"
46
+ end
47
+ end
48
+ end
@@ -3,8 +3,8 @@
3
3
  # Author:: soramugi <http://soramugi.net>
4
4
  # 774 <http://id774.net>
5
5
  # Created:: Feb 10, 2013
6
- # Updated:: Feb 17, 2013
7
- # Copyright:: soramugi Copyright (c) 2013
6
+ # Updated:: Jun 28, 2013
7
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
8
8
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
9
 
10
10
  module Automatic::Plugin
@@ -46,7 +46,7 @@ module Automatic::Plugin
46
46
  unless feeds.nil?
47
47
  feeds.each {|feed|
48
48
  unless feed.link.href.nil?
49
- Automatic::Log.puts("info", "Creating: #{feed.link.href}")
49
+ Automatic::Log.puts("info", "Feed: #{feed.link.href}")
50
50
  item = maker.items.new_item
51
51
  item.title = feed.title.content # google reader feed
52
52
  item.link = feed.link.href # google reader feed
@@ -3,7 +3,7 @@
3
3
  # Author:: 774 <http://id774.net>
4
4
  # Created:: Sep 18, 2012
5
5
  # Updated:: Apr 5, 2013
6
- # Copyright:: 774 Copyright (c) 2012-2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
8
 
9
9
  module Automatic::Plugin
@@ -22,7 +22,7 @@ module Automatic::Plugin
22
22
  @config['urls'].each {|url|
23
23
  retries = 0
24
24
  begin
25
- create_rss(url)
25
+ create_rss(URI.encode(url))
26
26
  rescue
27
27
  retries += 1
28
28
  Automatic::Log.puts("error", "ErrorCount: #{retries}, Fault in parsing: #{url}")
@@ -0,0 +1,49 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Name:: Automatic::Plugin::Subscription::Pocket
3
+ # Author:: soramugi <http://soramugi.net>
4
+ # Created:: May 21, 2013
5
+ # Updated:: May 21, 2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
+
9
+ module Automatic::Plugin
10
+ class SubscriptionPocket
11
+ require 'pocket'
12
+
13
+ def initialize(config, pipeline=[])
14
+ @config = config
15
+ @pipeline = pipeline
16
+ Pocket.configure do |c|
17
+ c.consumer_key = @config['consumer_key']
18
+ c.access_token = @config['access_token']
19
+ end
20
+ @client = Pocket.client
21
+ end
22
+
23
+ def run
24
+ retries = 0
25
+ begin
26
+ dummyfeeds = cleate_dummy_feed(@client.retrieve(@config['optional']))
27
+ @pipeline << Automatic::FeedParser.create(dummyfeeds)
28
+ rescue
29
+ retries += 1
30
+ Automatic::Log.puts("error", "ErrorCount: #{retries}, Fault in parsing: #{retries}")
31
+ sleep @config['interval'].to_i unless @config['interval'].nil?
32
+ retry if retries <= @config['retry'].to_i unless @config['retry'].nil?
33
+ end
34
+ @pipeline
35
+ end
36
+
37
+ def cleate_dummy_feed(retrieve)
38
+ dummyFeeds = []
39
+ retrieve['list'].each {|key,list|
40
+ dummy = Hashie::Mash.new
41
+ dummy.title = list['given_title']
42
+ dummy.link = list['given_url']
43
+ dummy.description = list['excerpt']
44
+ dummyFeeds << dummy
45
+ }
46
+ dummyFeeds
47
+ end
48
+ end
49
+ end
@@ -3,7 +3,7 @@
3
3
  # Author:: soramugi <http://soramugi.net>
4
4
  # Created:: May 6, 2013
5
5
  # Updated:: May 6, 2013
6
- # Copyright:: soramugi Copyright (c) 2013
6
+ # Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
7
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
8
8
 
9
9
  module Automatic::Plugin
@@ -67,18 +67,9 @@ module Automatic::Plugin
67
67
  end
68
68
 
69
69
  def run
70
- retries = 0
71
- begin
72
- if @dummyfeeds != []
73
- @pipeline << Automatic::FeedParser.create(@dummyfeeds)
74
- end
75
- rescue
76
- retries += 1
77
- Automatic::Log.puts("error", "ErrorCount: #{retries}, Fault in parsing: #{feed}")
78
- sleep @config['interval'].to_i unless @config['interval'].nil?
79
- retry if retries <= @config['retry'].to_i unless @config['retry'].nil?
70
+ if @dummyfeeds != []
71
+ @pipeline << Automatic::FeedParser.create(@dummyfeeds)
80
72
  end
81
-
82
73
  @pipeline
83
74
  end
84
75
  end