automatic 13.4.1 → 13.5.0
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.
- data/Gemfile +3 -0
- data/README.md +3 -3
- data/Rakefile +6 -3
- data/VERSION +1 -1
- data/automatic.gemspec +29 -3
- data/bin/automatic +4 -1
- data/doc/ChangeLog +15 -1
- data/doc/PLUGINS +107 -0
- data/doc/PLUGINS.ja +107 -0
- data/doc/README +4 -4
- data/doc/README.ja +4 -4
- data/lib/automatic/feed_parser.rb +2 -2
- data/lib/automatic.rb +2 -2
- data/plugins/filter/ignore.rb +8 -0
- data/plugins/filter/one.rb +36 -0
- data/plugins/filter/rand.rb +28 -0
- data/plugins/publish/pocket.rb +44 -0
- data/plugins/publish/twitter.rb +57 -0
- data/plugins/store/target_link.rb +10 -9
- data/plugins/subscription/google_reader_star.rb +1 -1
- data/plugins/subscription/text.rb +85 -0
- data/plugins/subscription/weather.rb +66 -0
- data/script/build +3 -1
- data/spec/lib/automatic_spec.rb +2 -2
- data/spec/plugins/filter/ignore_spec.rb +49 -0
- data/spec/plugins/filter/one_spec.rb +71 -0
- data/spec/plugins/filter/rand_spec.rb +52 -0
- data/spec/plugins/publish/pocket_spec.rb +51 -0
- data/spec/plugins/publish/twitter_spec.rb +35 -0
- data/spec/plugins/store/target_link_spec.rb +1 -1
- data/spec/plugins/subscription/feed_spec.rb +2 -2
- data/spec/plugins/subscription/text_spec.rb +67 -0
- data/spec/plugins/subscription/weather_spec.rb +57 -0
- data/spec/spec_helper.rb +1 -1
- data/test/integration/test_add_pocket.yml +23 -0
- data/test/integration/test_one.yml +22 -0
- data/test/integration/test_rand.yml +20 -0
- data/test/integration/test_text2feed.yml +27 -0
- data/test/integration/test_weather.yml +18 -0
- metadata +68 -3
@@ -0,0 +1,67 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Name:: Automatic::Plugin::Subscription::Text
|
3
|
+
# Author:: soramugi <http://soramugi.net>
|
4
|
+
# Created:: May 6, 2013
|
5
|
+
# Updated:: May 6, 2013
|
6
|
+
# Copyright:: soramugi Copyright (c) 2013
|
7
|
+
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
|
+
|
9
|
+
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
10
|
+
|
11
|
+
require 'subscription/text'
|
12
|
+
|
13
|
+
describe Automatic::Plugin::SubscriptionText do
|
14
|
+
context "with empty titles" do
|
15
|
+
subject {
|
16
|
+
Automatic::Plugin::SubscriptionText.new(
|
17
|
+
{ 'titles' => [] }
|
18
|
+
)
|
19
|
+
}
|
20
|
+
|
21
|
+
its(:run) { should be_empty }
|
22
|
+
end
|
23
|
+
|
24
|
+
context "with titles whose return feed" do
|
25
|
+
subject {
|
26
|
+
Automatic::Plugin::SubscriptionText.new(
|
27
|
+
{ 'titles' => ["hugehuge"] }
|
28
|
+
)
|
29
|
+
}
|
30
|
+
|
31
|
+
its(:run) { should have(1).feed }
|
32
|
+
end
|
33
|
+
|
34
|
+
context "with urls whose return feed" do
|
35
|
+
subject {
|
36
|
+
Automatic::Plugin::SubscriptionText.new(
|
37
|
+
{ 'urls' => ["http://hugehuge"] }
|
38
|
+
)
|
39
|
+
}
|
40
|
+
|
41
|
+
its(:run) { should have(1).feed }
|
42
|
+
end
|
43
|
+
|
44
|
+
context "with feeds whose return feed" do
|
45
|
+
subject {
|
46
|
+
Automatic::Plugin::SubscriptionText.new(
|
47
|
+
{ 'feeds' => [ {'title' => 'huge', 'url' => "http://hugehuge"} ] }
|
48
|
+
)
|
49
|
+
}
|
50
|
+
|
51
|
+
its(:run) { should have(1).feed }
|
52
|
+
end
|
53
|
+
|
54
|
+
context "with retry to feeds whose invalid URL" do
|
55
|
+
subject {
|
56
|
+
Automatic::Plugin::SubscriptionText.new(
|
57
|
+
{ 'titles' => [],
|
58
|
+
'retry' => 1,
|
59
|
+
'interval' => 1
|
60
|
+
}
|
61
|
+
)
|
62
|
+
}
|
63
|
+
|
64
|
+
its(:run) { should be_empty }
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Name:: Automatic::Plugin::Subscription::Weather
|
3
|
+
# Author:: soramugi <http://soramugi.net>
|
4
|
+
# Created:: May 12, 2013
|
5
|
+
# Updated:: May 12, 2013
|
6
|
+
# Copyright:: soramugi Copyright (c) 2013
|
7
|
+
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
|
+
|
9
|
+
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
10
|
+
|
11
|
+
require 'subscription/weather'
|
12
|
+
|
13
|
+
describe Automatic::Plugin::SubscriptionWeather do
|
14
|
+
context "with empty zipcode" do
|
15
|
+
subject {
|
16
|
+
Automatic::Plugin::SubscriptionWeather.new(
|
17
|
+
{ }
|
18
|
+
)
|
19
|
+
}
|
20
|
+
|
21
|
+
its(:run) { should be_empty }
|
22
|
+
end
|
23
|
+
|
24
|
+
context "with zipcode whose return feed" do
|
25
|
+
subject {
|
26
|
+
Automatic::Plugin::SubscriptionWeather.new(
|
27
|
+
{ 'zipcode' => '166-0003' }
|
28
|
+
)
|
29
|
+
}
|
30
|
+
|
31
|
+
its(:run) { should have(1).feed }
|
32
|
+
end
|
33
|
+
|
34
|
+
context "with zipcode and day whose return feed" do
|
35
|
+
subject {
|
36
|
+
Automatic::Plugin::SubscriptionWeather.new(
|
37
|
+
{ 'zipcode' => '166-0003', 'day' => 'tomorrow' }
|
38
|
+
)
|
39
|
+
}
|
40
|
+
|
41
|
+
its(:run) { should have(1).feed }
|
42
|
+
end
|
43
|
+
|
44
|
+
context "with retry to feeds whose invalid URL" do
|
45
|
+
subject {
|
46
|
+
Automatic::Plugin::SubscriptionWeather.new(
|
47
|
+
{ 'zipcode' => [],
|
48
|
+
'retry' => 1,
|
49
|
+
'interval' => 1
|
50
|
+
}
|
51
|
+
)
|
52
|
+
}
|
53
|
+
|
54
|
+
its(:run) { should be_empty }
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
global:
|
2
|
+
timezone: Asia/Tokyo
|
3
|
+
cache:
|
4
|
+
base: /tmp
|
5
|
+
log:
|
6
|
+
level: info
|
7
|
+
|
8
|
+
plugins:
|
9
|
+
- module: SubscriptionFeed
|
10
|
+
config:
|
11
|
+
feeds:
|
12
|
+
- http://blog.id774.net/post/feed/
|
13
|
+
|
14
|
+
- module: StorePermalink
|
15
|
+
config:
|
16
|
+
db: test_instapaper.db
|
17
|
+
|
18
|
+
- module: PublishPocket
|
19
|
+
config:
|
20
|
+
consumer_key: consumer_key
|
21
|
+
access_token: access_token
|
22
|
+
|
23
|
+
#- module: PublishConsole
|
@@ -0,0 +1,22 @@
|
|
1
|
+
global:
|
2
|
+
timezone: Asia/Tokyo
|
3
|
+
cache:
|
4
|
+
base: /tmp
|
5
|
+
log:
|
6
|
+
level: info
|
7
|
+
|
8
|
+
plugins:
|
9
|
+
- module: SubscriptionFeed
|
10
|
+
config:
|
11
|
+
feeds:
|
12
|
+
- http://blog.id774.net/post/feed/
|
13
|
+
|
14
|
+
- module: FilterOne
|
15
|
+
config:
|
16
|
+
pick: last
|
17
|
+
|
18
|
+
- module: StorePermalink
|
19
|
+
config:
|
20
|
+
db: test_one.db
|
21
|
+
|
22
|
+
# - module: PublishConsole
|
@@ -0,0 +1,20 @@
|
|
1
|
+
global:
|
2
|
+
timezone: Asia/Tokyo
|
3
|
+
cache:
|
4
|
+
base: /tmp
|
5
|
+
log:
|
6
|
+
level: info
|
7
|
+
|
8
|
+
plugins:
|
9
|
+
- module: SubscriptionFeed
|
10
|
+
config:
|
11
|
+
feeds:
|
12
|
+
- http://blog.id774.net/post/feed/
|
13
|
+
|
14
|
+
- module: FilterRand
|
15
|
+
|
16
|
+
- module: StorePermalink
|
17
|
+
config:
|
18
|
+
db: test_rand.db
|
19
|
+
|
20
|
+
# - module: PublishConsole
|
@@ -0,0 +1,27 @@
|
|
1
|
+
global:
|
2
|
+
timezone: Asia/Tokyo
|
3
|
+
cache:
|
4
|
+
base: /tmp
|
5
|
+
log:
|
6
|
+
level: info
|
7
|
+
|
8
|
+
plugins:
|
9
|
+
- module: SubscriptionText
|
10
|
+
config:
|
11
|
+
titles:
|
12
|
+
- 'hugehuge'
|
13
|
+
urls:
|
14
|
+
- 'https://github.com'
|
15
|
+
feeds:
|
16
|
+
-
|
17
|
+
title: 'jenkins'
|
18
|
+
url: 'http://jenkins.id774.net/jenkins/'
|
19
|
+
-
|
20
|
+
title: 'Tumblr'
|
21
|
+
url: 'http://www.tumblr.com/dashboard'
|
22
|
+
|
23
|
+
- module: StorePermalink
|
24
|
+
config:
|
25
|
+
db: test_text2feed.db
|
26
|
+
|
27
|
+
# - module: PublishConsole
|
@@ -0,0 +1,18 @@
|
|
1
|
+
global:
|
2
|
+
timezone: Asia/Tokyo
|
3
|
+
cache:
|
4
|
+
base: /tmp
|
5
|
+
log:
|
6
|
+
level: info
|
7
|
+
|
8
|
+
plugins:
|
9
|
+
- module: SubscriptionWeather
|
10
|
+
config:
|
11
|
+
zipcode: 166-0003
|
12
|
+
day: 'tomorrow'
|
13
|
+
|
14
|
+
- module: StorePermalink
|
15
|
+
config:
|
16
|
+
db: test_weather.db
|
17
|
+
|
18
|
+
#- module: PublishConsole
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: automatic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.
|
4
|
+
version: 13.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sqlite3
|
@@ -155,6 +155,54 @@ dependencies:
|
|
155
155
|
- - ! '>='
|
156
156
|
- !ruby/object:Gem::Version
|
157
157
|
version: '0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: twitter
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
type: :runtime
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: weather_hacker
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
type: :runtime
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: pocket-ruby
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
type: :runtime
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
158
206
|
- !ruby/object:Gem::Dependency
|
159
207
|
name: cucumber
|
160
208
|
requirement: !ruby/object:Gem::Requirement
|
@@ -240,6 +288,8 @@ files:
|
|
240
288
|
- plugins/filter/ignore.rb
|
241
289
|
- plugins/filter/image.rb
|
242
290
|
- plugins/filter/image_source.rb
|
291
|
+
- plugins/filter/one.rb
|
292
|
+
- plugins/filter/rand.rb
|
243
293
|
- plugins/filter/sort.rb
|
244
294
|
- plugins/filter/tumblr_resize.rb
|
245
295
|
- plugins/notify/ikachan.rb
|
@@ -248,7 +298,9 @@ files:
|
|
248
298
|
- plugins/publish/hatena_bookmark.rb
|
249
299
|
- plugins/publish/instapaper.rb
|
250
300
|
- plugins/publish/mail.rb
|
301
|
+
- plugins/publish/pocket.rb
|
251
302
|
- plugins/publish/smtp.rb
|
303
|
+
- plugins/publish/twitter.rb
|
252
304
|
- plugins/store/database.rb
|
253
305
|
- plugins/store/full_text.rb
|
254
306
|
- plugins/store/permalink.rb
|
@@ -256,8 +308,10 @@ files:
|
|
256
308
|
- plugins/subscription/feed.rb
|
257
309
|
- plugins/subscription/google_reader_star.rb
|
258
310
|
- plugins/subscription/link.rb
|
311
|
+
- plugins/subscription/text.rb
|
259
312
|
- plugins/subscription/tumblr.rb
|
260
313
|
- plugins/subscription/twitter.rb
|
314
|
+
- plugins/subscription/weather.rb
|
261
315
|
- script/build
|
262
316
|
- spec/fixtures/sampleRecipe.yml
|
263
317
|
- spec/lib/automatic/pipeline_spec.rb
|
@@ -269,6 +323,8 @@ files:
|
|
269
323
|
- spec/plugins/filter/ignore_spec.rb
|
270
324
|
- spec/plugins/filter/image_source_spec.rb
|
271
325
|
- spec/plugins/filter/image_spec.rb
|
326
|
+
- spec/plugins/filter/one_spec.rb
|
327
|
+
- spec/plugins/filter/rand_spec.rb
|
272
328
|
- spec/plugins/filter/sort_spec.rb
|
273
329
|
- spec/plugins/filter/tumblr_resize_spec.rb
|
274
330
|
- spec/plugins/notify/ikachan_spec.rb
|
@@ -277,20 +333,25 @@ files:
|
|
277
333
|
- spec/plugins/publish/hatena_bookmark_spec.rb
|
278
334
|
- spec/plugins/publish/instapaper_spec.rb
|
279
335
|
- spec/plugins/publish/mail_spec.rb
|
336
|
+
- spec/plugins/publish/pocket_spec.rb
|
280
337
|
- spec/plugins/publish/smtp_spec.rb
|
338
|
+
- spec/plugins/publish/twitter_spec.rb
|
281
339
|
- spec/plugins/store/full_text_spec.rb
|
282
340
|
- spec/plugins/store/permalink_spec.rb
|
283
341
|
- spec/plugins/store/target_link_spec.rb
|
284
342
|
- spec/plugins/subscription/feed_spec.rb
|
285
343
|
- spec/plugins/subscription/google_reader_star_spec.rb
|
286
344
|
- spec/plugins/subscription/link_spec.rb
|
345
|
+
- spec/plugins/subscription/text_spec.rb
|
287
346
|
- spec/plugins/subscription/tumblr_spec.rb
|
288
347
|
- spec/plugins/subscription/twitter_spec.rb
|
348
|
+
- spec/plugins/subscription/weather_spec.rb
|
289
349
|
- spec/spec_helper.rb
|
290
350
|
- spec/user_dir/plugins/store/mock.rb
|
291
351
|
- test/fixtures/sampleOPML.xml
|
292
352
|
- test/integration/test_absoluteurl.yml
|
293
353
|
- test/integration/test_activerecord.yml
|
354
|
+
- test/integration/test_add_pocket.yml
|
294
355
|
- test/integration/test_fulltext.yml
|
295
356
|
- test/integration/test_googlealert.yml
|
296
357
|
- test/integration/test_googlestar.yml
|
@@ -300,11 +361,15 @@ files:
|
|
300
361
|
- test/integration/test_image2local.yml
|
301
362
|
- test/integration/test_instapaper.yml
|
302
363
|
- test/integration/test_link2local.yml
|
364
|
+
- test/integration/test_one.yml
|
365
|
+
- test/integration/test_rand.yml
|
303
366
|
- test/integration/test_sort.yml
|
304
367
|
- test/integration/test_svnlog.yml
|
368
|
+
- test/integration/test_text2feed.yml
|
305
369
|
- test/integration/test_tumblr2local.yml
|
370
|
+
- test/integration/test_weather.yml
|
306
371
|
- vendor/.gitkeep
|
307
|
-
homepage: http://github.com/
|
372
|
+
homepage: http://github.com/automaticruby/automaticruby
|
308
373
|
licenses:
|
309
374
|
- GPL
|
310
375
|
post_install_message:
|