automatic 14.10.1 → 26.08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +635 -83
  3. data/VERSION +1 -1
  4. data/automatic.gemspec +109 -248
  5. data/bin/automatic +20 -139
  6. data/config/feed2console.yml +10 -4
  7. data/config/feed2markdown.yml +41 -0
  8. data/doc/AI_TUTORIAL.md +518 -0
  9. data/doc/BASIC_DESIGN.md +516 -0
  10. data/doc/COPYING.LESSER +165 -0
  11. data/doc/DEPLOYMENT.md +824 -0
  12. data/doc/LICENSE.md +14 -0
  13. data/doc/PLUGINS.md +1875 -0
  14. data/doc/PLUGIN_DEVELOPMENT.md +86 -0
  15. data/doc/POLICY.md +857 -0
  16. data/doc/QUICKSTART.md +256 -0
  17. data/doc/RELEASING.md +381 -0
  18. data/doc/REQUIREMENTS.md +526 -0
  19. data/doc/VERSIONS +208 -0
  20. data/lib/automatic/cli.rb +248 -0
  21. data/lib/automatic/environment.rb +31 -5
  22. data/lib/automatic/feed_maker.rb +10 -9
  23. data/lib/automatic/feed_parser.rb +51 -35
  24. data/lib/automatic/http.rb +107 -0
  25. data/lib/automatic/log.rb +49 -18
  26. data/lib/automatic/opml.rb +3 -1
  27. data/lib/automatic/pipeline.rb +63 -32
  28. data/lib/automatic/recipe.rb +56 -17
  29. data/lib/automatic/version.rb +14 -1
  30. data/lib/automatic.rb +78 -20
  31. data/plugins/custom_feed/svn_log.rb +73 -32
  32. data/plugins/custom_feed/web.rb +348 -0
  33. data/plugins/filter/absolute_uri.rb +43 -27
  34. data/plugins/filter/accept.rb +38 -45
  35. data/plugins/filter/claude.rb +217 -0
  36. data/plugins/filter/clear.rb +12 -8
  37. data/plugins/filter/description_link.rb +49 -51
  38. data/plugins/filter/full_feed.rb +158 -52
  39. data/plugins/filter/gemini.rb +216 -0
  40. data/plugins/filter/github_feed.rb +38 -26
  41. data/plugins/filter/ignore.rb +33 -44
  42. data/plugins/filter/image.rb +36 -25
  43. data/plugins/filter/image_source.rb +58 -52
  44. data/plugins/filter/join.rb +107 -0
  45. data/plugins/filter/one.rb +19 -26
  46. data/plugins/filter/open_ai.rb +198 -0
  47. data/plugins/filter/rand.rb +16 -17
  48. data/plugins/filter/sakura_ai.rb +205 -0
  49. data/plugins/filter/sanitize.rb +29 -34
  50. data/plugins/filter/sort.rb +20 -27
  51. data/plugins/filter/tumblr_resize.rb +31 -23
  52. data/plugins/notify/ikachan.rb +86 -48
  53. data/plugins/provide/fluentd.rb +43 -24
  54. data/plugins/publish/amazon_s3.rb +73 -40
  55. data/plugins/publish/console.rb +19 -16
  56. data/plugins/publish/console_link.rb +20 -17
  57. data/plugins/publish/eject.rb +48 -26
  58. data/plugins/publish/fluentd.rb +50 -30
  59. data/plugins/publish/hatena_bookmark.rb +88 -71
  60. data/plugins/publish/instapaper.rb +69 -59
  61. data/plugins/publish/markdown.rb +278 -0
  62. data/plugins/publish/memcached.rb +35 -29
  63. data/plugins/store/database.rb +50 -48
  64. data/plugins/store/digest.rb +212 -0
  65. data/plugins/store/file.rb +99 -68
  66. data/plugins/store/full_text.rb +32 -25
  67. data/plugins/store/permalink.rb +18 -22
  68. data/plugins/subscription/feed.rb +34 -21
  69. data/plugins/subscription/link.rb +31 -32
  70. data/plugins/subscription/text.rb +32 -46
  71. data/plugins/subscription/tumblr.rb +55 -44
  72. data/plugins/subscription/xml.rb +40 -36
  73. metadata +108 -321
  74. data/Gemfile +0 -38
  75. data/Rakefile +0 -59
  76. data/doc/ChangeLog +0 -296
  77. data/doc/PLUGINS +0 -750
  78. data/doc/PLUGINS.ja +0 -753
  79. data/doc/README +0 -511
  80. data/doc/README.ja +0 -519
  81. data/plugins/filter/google_news.rb +0 -50
  82. data/plugins/publish/google_calendar.rb +0 -84
  83. data/plugins/publish/hipchat.rb +0 -46
  84. data/plugins/publish/pocket.rb +0 -45
  85. data/plugins/publish/twitter.rb +0 -58
  86. data/plugins/subscription/chan_toru.rb +0 -57
  87. data/plugins/subscription/g_guide.rb +0 -57
  88. data/plugins/subscription/pocket.rb +0 -51
  89. data/plugins/subscription/twitter.rb +0 -69
  90. data/plugins/subscription/twitter_search.rb +0 -50
  91. data/plugins/subscription/weather.rb +0 -33
  92. data/script/build +0 -84
  93. data/spec/fixtures/sampleFeeds.tsv +0 -1
  94. data/spec/fixtures/sampleFeeds2.tsv +0 -2
  95. data/spec/fixtures/sampleRecipe.yml +0 -24
  96. data/spec/lib/automatic/log_spec.rb +0 -32
  97. data/spec/lib/automatic/pipeline_spec.rb +0 -68
  98. data/spec/lib/automatic/recipe_spec.rb +0 -40
  99. data/spec/lib/automatic_spec.rb +0 -99
  100. data/spec/plugins/custom_feed/svn_log_spec.rb +0 -31
  101. data/spec/plugins/filter/absolute_uri_spec.rb +0 -61
  102. data/spec/plugins/filter/accept_spec.rb +0 -331
  103. data/spec/plugins/filter/clear_spec.rb +0 -49
  104. data/spec/plugins/filter/description_link_spec.rb +0 -138
  105. data/spec/plugins/filter/full_feed_spec.rb +0 -129
  106. data/spec/plugins/filter/github_feed_spec.rb +0 -55
  107. data/spec/plugins/filter/google_news_spec.rb +0 -69
  108. data/spec/plugins/filter/ignore_spec.rb +0 -328
  109. data/spec/plugins/filter/image_source_spec.rb +0 -89
  110. data/spec/plugins/filter/image_spec.rb +0 -65
  111. data/spec/plugins/filter/one_spec.rb +0 -71
  112. data/spec/plugins/filter/rand_spec.rb +0 -52
  113. data/spec/plugins/filter/sanitize_spec.rb +0 -153
  114. data/spec/plugins/filter/sort_spec.rb +0 -189
  115. data/spec/plugins/filter/tumblr_resize_spec.rb +0 -109
  116. data/spec/plugins/notify/ikachan_spec.rb +0 -58
  117. data/spec/plugins/provide/fluentd_spec.rb +0 -49
  118. data/spec/plugins/publish/amazon_s3_spec.rb +0 -40
  119. data/spec/plugins/publish/console_spec.rb +0 -30
  120. data/spec/plugins/publish/eject_spec.rb +0 -40
  121. data/spec/plugins/publish/fluentd_spec.rb +0 -40
  122. data/spec/plugins/publish/google_calendar_spec.rb +0 -83
  123. data/spec/plugins/publish/hatena_bookmark_spec.rb +0 -134
  124. data/spec/plugins/publish/hipchat_spec.rb +0 -69
  125. data/spec/plugins/publish/instapaper_spec.rb +0 -82
  126. data/spec/plugins/publish/memcached_spec.rb +0 -63
  127. data/spec/plugins/publish/pocket_spec.rb +0 -51
  128. data/spec/plugins/publish/twitter_spec.rb +0 -73
  129. data/spec/plugins/store/file_spec.rb +0 -58
  130. data/spec/plugins/store/full_text_spec.rb +0 -152
  131. data/spec/plugins/store/permalink_spec.rb +0 -206
  132. data/spec/plugins/subscription/chan_toru_spec.rb +0 -56
  133. data/spec/plugins/subscription/feed_spec.rb +0 -71
  134. data/spec/plugins/subscription/g_guide_spec.rb +0 -82
  135. data/spec/plugins/subscription/link_spec.rb +0 -72
  136. data/spec/plugins/subscription/pocket_spec.rb +0 -57
  137. data/spec/plugins/subscription/text_spec.rb +0 -84
  138. data/spec/plugins/subscription/tumblr_spec.rb +0 -74
  139. data/spec/plugins/subscription/twitter_search_spec.rb +0 -57
  140. data/spec/plugins/subscription/twitter_spec.rb +0 -73
  141. data/spec/plugins/subscription/weather_spec.rb +0 -44
  142. data/spec/plugins/subscription/xml_spec.rb +0 -84
  143. data/spec/spec_helper.rb +0 -106
  144. data/spec/user_dir/plugins/store/mock.rb +0 -16
  145. data/test/fixtures/sampleOPML.xml +0 -11
  146. data/test/integration/test_absoluteurl.yml +0 -25
  147. data/test/integration/test_activerecord.yml +0 -24
  148. data/test/integration/test_add_pocket.yml +0 -26
  149. data/test/integration/test_chan_toru.yml +0 -21
  150. data/test/integration/test_descriptionlink.yml +0 -21
  151. data/test/integration/test_fluentd.yml +0 -22
  152. data/test/integration/test_fulltext.yml +0 -30
  153. data/test/integration/test_google_news.yml +0 -21
  154. data/test/integration/test_googlealert.yml +0 -21
  155. data/test/integration/test_hatenabookmark.yml +0 -30
  156. data/test/integration/test_ignore.yml +0 -25
  157. data/test/integration/test_ignore2.yml +0 -22
  158. data/test/integration/test_image2local.yml +0 -33
  159. data/test/integration/test_instapaper.yml +0 -26
  160. data/test/integration/test_link2local.yml +0 -34
  161. data/test/integration/test_one.yml +0 -23
  162. data/test/integration/test_pocket.yml +0 -22
  163. data/test/integration/test_rand.yml +0 -21
  164. data/test/integration/test_sanitize.yml +0 -23
  165. data/test/integration/test_sort.yml +0 -36
  166. data/test/integration/test_svnlog.yml +0 -15
  167. data/test/integration/test_text2feed.yml +0 -36
  168. data/test/integration/test_tumblr2local.yml +0 -43
  169. data/test/integration/test_twitter_search.yml +0 -22
  170. data/test/integration/test_weather.yml +0 -19
  171. data/test/integration/test_xml2fluentd.yml +0 -21
  172. data/vendor/.gitkeep +0 -0
data/Rakefile DELETED
@@ -1,59 +0,0 @@
1
- # -*- mode: ruby; coding: utf-8 -*-
2
-
3
- require 'rubygems'
4
-
5
- require 'rspec/core'
6
- require 'rspec/core/rake_task'
7
- RSpec::Core::RakeTask.new(:spec) do |spec|
8
- spec.rspec_opts = ["-c"]
9
- spec.pattern = FileList['spec/**/*_spec.rb']
10
- end
11
-
12
- namespace :spec do
13
- desc "Run RSpec for plugins"
14
- RSpec::Core::RakeTask.new(:plugins) do |spec|
15
- spec.rspec_opts = ["-c"]
16
- spec.pattern = FileList['spec/plugins/**/*_spec.rb']
17
- end
18
-
19
- desc "Run RSpec for main procedure"
20
- RSpec::Core::RakeTask.new(:lib) do |spec|
21
- spec.rspec_opts = ["-c"]
22
- spec.pattern = FileList['spec/lib/**/*_spec.rb']
23
- end
24
- end
25
-
26
- task :default => :spec
27
-
28
- require 'jeweler'
29
- Jeweler::Tasks.new do |gem|
30
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
31
- gem.name = "automatic"
32
- gem.homepage = "http://github.com/automaticruby/automaticruby"
33
- gem.license = "GPL"
34
- gem.summary = %Q{Automatic Ruby}
35
- gem.description = %Q{Ruby framework for the general-purpose automatic processing}
36
- gem.email = "idnanashi@gmail.com"
37
- gem.authors = ["id774"]
38
- # dependencies defined in Gemfile
39
- end
40
-
41
- Jeweler::RubygemsDotOrgTasks.new
42
-
43
- if RUBY_VERSION >= '1.9.0'
44
- desc "Run RSpec code examples with simplecov"
45
- task :simplecov do
46
- ENV['COVERAGE'] = "on"
47
- Rake::Task[:spec].invoke
48
- end
49
- else
50
- desc "Run RSpec code examples with rcov"
51
- RSpec::Core::RakeTask.new(:rcov) do |spec|
52
- spec.pattern = FileList['spec/**/*_spec.rb']
53
- exclude_files = [
54
- "gems",
55
- ]
56
- spec.rcov_opts = ['--exclude', exclude_files.join(",")]
57
- spec.rcov = true
58
- end
59
- end
data/doc/ChangeLog DELETED
@@ -1,296 +0,0 @@
1
- === 14.10.0 / 2014-10-23
2
-
3
- * Using Logger
4
-
5
- * Improvement File Saving Plugin
6
-
7
- * Store::FullText will ignore duplicated titled entry.
8
-
9
- * Added new plugins.
10
-
11
- * Filter::Clear
12
- * Filter::GoogleNews
13
- * Filter::DescriptionLink
14
-
15
-
16
- === 14.5.0 / 2014-05-31
17
-
18
- * Update to activesupport/record 4.1.
19
-
20
-
21
- === 14.3.0 / 2014-03-23
22
-
23
- * Downgrade nokogiri version for OS X.
24
-
25
-
26
- === 14.2.0 / 2014-02-26
27
-
28
- * Added new plugins.
29
-
30
- * Publish::AmazonS3
31
-
32
- * Improvement File Saving Plugin
33
-
34
- * Store::TargetLink rename to Store::File.
35
- * Store::File rewrite link to file URI scheme.
36
- * Enable file URI scheme in RSS 2.0 Feed.
37
- * Store::File enable get file from Amazon S3.
38
-
39
- * Improvement Subscription::Text
40
-
41
- * Read text from TSV formatted files.
42
- * Add fields description, author, comments to RSS 2.0 Feed.
43
-
44
- * Into details Log messages.
45
-
46
- * Use 'double' instead of 'mock', 'stub' for rspec-mocks.
47
-
48
- * Improvement CI with network connection.
49
-
50
- * Refactoring to divide Feed::Parser to Feed::Maker.
51
-
52
-
53
- === 14.1.0 / 2014-01-24
54
-
55
- * Fix dependency conflict.
56
-
57
- * Refactoring error retry handling.
58
-
59
-
60
- === 13.12.0 / 2013-12-17
61
-
62
- * Fix twitter gem version.
63
-
64
-
65
- === 13.7.0 / 2013-07-28
66
-
67
- * Added new plugins.
68
-
69
- * Subscription::Xml
70
- * Provide::Fluentd
71
-
72
- * Fix some problems.
73
-
74
-
75
- === 13.6.0 / 2013-06-28
76
-
77
- * Added new plugins.
78
-
79
- * Subscription::Pocket
80
- * Subscription::TwitterSearch
81
- * Subscription::GGuide
82
- * Subscription::ChanToru
83
- * Filter::Accept
84
- * Filter::Sanitize
85
- * Filter::GithubFeed
86
- * Publish::ConsoleLink
87
- * Publish::Hipchat
88
- * Publish::Memcached
89
- * Publish::Fluentd
90
-
91
- * And other Improvements, bug fixes.
92
-
93
- * Correspond to activesupport & activerecord 4.0.
94
-
95
- * Mail plugins temporary removed (for actionmailer 4.0).
96
-
97
- * Ruby 1.8 support was outdated.
98
-
99
-
100
- === 13.5.0 / 2013-05-18
101
-
102
- * Added new plugins.
103
-
104
- * Subscription::Text
105
- * Subscription::Weather
106
- * Filter::One
107
- * Filter::Rand
108
- * Pulish::Twitter
109
- * Pulish::Pocket
110
-
111
- * Move repository from id774/automaticruby to automaticruby/automaticruby.
112
-
113
-
114
- === 13.4.1 / 2013-04-10
115
-
116
- * Command automatic-config merged into automatic.
117
-
118
- * Improvement retry functions.
119
-
120
- * Running tests on Ruby 2.0.
121
-
122
-
123
- === 13.2.0 / 2013-02-13
124
-
125
- * All subscription and download plugins implemented retry function.
126
-
127
- * Plugin Filter::Ignore has become item-based filter.
128
-
129
- * Plugin Filter::Reverse renamed to Filter::Sort.
130
-
131
- * Added new plugins.
132
-
133
- * Subscription::GoogleReaderStar
134
- * Filter::FullFeed
135
- * Publish::Instapaper
136
-
137
- * Improvement tests.
138
-
139
- * And other minor bug fix.
140
-
141
-
142
- === 13.1.0 / 2013-01-08
143
-
144
- * Fix interval bugs.
145
-
146
- * Improvement timing of logging (But still the way).
147
-
148
- * Only new feed return feeds.
149
-
150
- * Refactoring.
151
-
152
-
153
- === 12.10.0 / 2012-10-16
154
-
155
- * Added new plug-in.
156
-
157
- * Subscription::Tumblr
158
-
159
-
160
- === 12.9.1 / 2012-09-18
161
-
162
- * Bug fix
163
-
164
- * It should be considered the case of the feed link including nil.
165
-
166
-
167
- === 12.9.0 / 2012-09-18
168
-
169
- * The format of the pipeline were unified to "feed object" (array of feeds).
170
-
171
- * Some plug-ins have lost backward compatibility.
172
-
173
- * Added new plug-ins.
174
-
175
- * Subscription::Link
176
- * Subscription::Twitter
177
- * Filter::Image
178
- * Filter::AbsoluteURI
179
-
180
- * Removed obsolete plug-ins.
181
-
182
- * Subscription::URI
183
- * Extract::Link
184
- * Filter::ImageLink
185
- * Store::Link
186
- * Store::Target
187
-
188
-
189
- === 12.6.0 / 2012-06-18
190
-
191
- * Added plug-ins.
192
-
193
- * Subscription::URI
194
- * Extract::Link
195
- * Filter::ImageLink
196
- * Store::Link
197
- * Store::Target
198
-
199
- * Improvement automatic-config.
200
-
201
- * Scaffold makes config and db directory.
202
- * Unscaffold SubCommand added to automatic-config.
203
-
204
- * Improvement search path.
205
-
206
- * Search user_dir's config when order -c option with simple filename.
207
- * If user's db directory exist, use it.
208
-
209
- * Improvement log.
210
-
211
- * Show recipe and db name on log.
212
-
213
- * Refactoring.
214
-
215
- * Refactoring plug-in names.
216
- * Header fields.
217
-
218
- * Add tests.
219
-
220
- * RSpec code coverage over 99%.
221
- * Add all option script/build.
222
-
223
-
224
- === 12.4.0 / 2012-04-30
225
-
226
- * Inspect SubCommand added to automatic-config.
227
-
228
- * Added plug-ins.
229
-
230
- * Filter::Reverse
231
- * Publish::SMTP
232
- * Publish::Mail
233
-
234
- * Running all Integration Tests with CI.
235
-
236
-
237
- === 12.3.1 / 2012-03-16
238
-
239
- * English Documents.
240
-
241
- * doc/README
242
- * doc/PLUGINS
243
-
244
- * The user who installed the gem package be able to create own plugins.
245
-
246
- * ~/.automatic/plugins
247
-
248
- * Utils merged to automatic-config command and added following subcommand.
249
-
250
- * scaffold
251
- * autodiscovery
252
- * opmlparser
253
- * feedparser
254
- * log
255
-
256
- * Added Integration Test Script for CI.
257
-
258
- * script/build
259
-
260
-
261
- === 12.03 / 2012-03-07
262
-
263
- * Distribute as a gem library.
264
-
265
- * Plugins added.
266
-
267
- * CustomFeed::SVNLog
268
- * Notify::Ikachan
269
- * Filter::TumblrResize
270
- * Filter::Image
271
- * Store::TargetLink
272
-
273
- * CI / Build scripts.
274
-
275
- * script/bootstrap
276
-
277
- * Signficant Refactoring.
278
-
279
-
280
- === 12.02.1 / 2012-02-25
281
-
282
- * Point release.
283
-
284
- * Big Refactoring for core.
285
- * Reorganization of the namespace.
286
- * A few plugins added.
287
-
288
-
289
- === 12.02 / 2012-02-18
290
-
291
- * First release.
292
-
293
- * Scratch of this script.
294
- * Plugin existing only for hatenabookmark.
295
-
296
-