automatic 13.5.0 → 13.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +11 -5
- data/README.md +4 -6
- data/VERSION +1 -1
- data/automatic.gemspec +61 -18
- data/doc/ChangeLog +25 -0
- data/doc/PLUGINS +202 -12
- data/doc/PLUGINS.ja +221 -30
- data/doc/README +1 -1
- data/doc/README.ja +1 -1
- data/lib/automatic.rb +3 -3
- data/lib/automatic/feed_parser.rb +2 -2
- data/lib/automatic/log.rb +12 -2
- data/lib/automatic/pipeline.rb +1 -1
- data/lib/automatic/recipe.rb +5 -2
- data/plugins/custom_feed/svn_log.rb +3 -3
- data/plugins/filter/absolute_uri.rb +8 -4
- data/plugins/filter/accept.rb +61 -0
- data/plugins/filter/full_feed.rb +4 -5
- data/plugins/filter/github_feed.rb +36 -0
- data/plugins/filter/ignore.rb +1 -1
- data/plugins/filter/image.rb +1 -1
- data/plugins/filter/image_source.rb +34 -10
- data/plugins/filter/one.rb +1 -1
- data/plugins/filter/rand.rb +1 -1
- data/plugins/filter/sanitize.rb +50 -0
- data/plugins/filter/sort.rb +1 -1
- data/plugins/filter/tumblr_resize.rb +1 -1
- data/plugins/publish/console.rb +3 -3
- data/plugins/publish/console_link.rb +30 -0
- data/plugins/publish/eject.rb +42 -0
- data/plugins/publish/fluentd.rb +42 -0
- data/plugins/publish/google_calendar.rb +3 -3
- data/plugins/publish/hatena_bookmark.rb +1 -1
- data/plugins/publish/hipchat.rb +45 -0
- data/plugins/publish/instapaper.rb +2 -1
- data/plugins/publish/memcached.rb +44 -0
- data/plugins/publish/pocket.rb +1 -1
- data/plugins/publish/twitter.rb +1 -1
- data/plugins/store/database.rb +3 -3
- data/plugins/store/full_text.rb +2 -2
- data/plugins/store/permalink.rb +1 -1
- data/plugins/store/target_link.rb +3 -2
- data/plugins/subscription/chan_toru.rb +56 -0
- data/plugins/subscription/feed.rb +1 -1
- data/plugins/subscription/g_guide.rb +48 -0
- data/plugins/subscription/google_reader_star.rb +3 -3
- data/plugins/subscription/link.rb +2 -2
- data/plugins/subscription/pocket.rb +49 -0
- data/plugins/subscription/text.rb +3 -12
- data/plugins/subscription/tumblr.rb +7 -1
- data/plugins/subscription/twitter.rb +1 -1
- data/plugins/subscription/twitter_search.rb +50 -0
- data/plugins/subscription/weather.rb +7 -41
- data/script/build +3 -0
- data/spec/fixtures/sampleRecipe.yml +1 -1
- data/spec/lib/automatic/log_spec.rb +31 -0
- data/spec/lib/automatic/pipeline_spec.rb +1 -1
- data/spec/lib/automatic/recipe_spec.rb +1 -1
- data/spec/lib/automatic_spec.rb +3 -3
- data/spec/plugins/custom_feed/svn_log_spec.rb +1 -1
- data/spec/plugins/filter/absolute_uri_spec.rb +1 -1
- data/spec/plugins/filter/accept_spec.rb +331 -0
- data/spec/plugins/filter/full_feed_spec.rb +4 -6
- data/spec/plugins/filter/github_feed_spec.rb +54 -0
- data/spec/plugins/filter/ignore_spec.rb +1 -1
- data/spec/plugins/filter/image_source_spec.rb +17 -3
- data/spec/plugins/filter/image_spec.rb +1 -1
- data/spec/plugins/filter/one_spec.rb +1 -1
- data/spec/plugins/filter/rand_spec.rb +1 -1
- data/spec/plugins/filter/sanitize_spec.rb +153 -0
- data/spec/plugins/filter/sort_spec.rb +1 -1
- data/spec/plugins/filter/tumblr_resize_spec.rb +1 -1
- data/spec/plugins/notify/ikachan_spec.rb +1 -1
- data/spec/plugins/publish/console_spec.rb +1 -1
- data/spec/plugins/publish/eject_spec.rb +40 -0
- data/spec/plugins/publish/fluentd_spec.rb +39 -0
- data/spec/plugins/publish/google_calendar_spec.rb +1 -1
- data/spec/plugins/publish/hatena_bookmark_spec.rb +1 -1
- data/spec/plugins/publish/hipchat_spec.rb +69 -0
- data/spec/plugins/publish/instapaper_spec.rb +42 -28
- data/spec/plugins/publish/memcached_spec.rb +63 -0
- data/spec/plugins/publish/pocket_spec.rb +33 -33
- data/spec/plugins/publish/twitter_spec.rb +57 -19
- data/spec/plugins/store/full_text_spec.rb +6 -1
- data/spec/plugins/store/permalink_spec.rb +18 -19
- data/spec/plugins/store/target_link_spec.rb +1 -1
- data/spec/plugins/subscription/chan_toru_spec.rb +56 -0
- data/spec/plugins/subscription/feed_spec.rb +1 -1
- data/spec/plugins/subscription/g_guide_spec.rb +76 -0
- data/spec/plugins/subscription/google_reader_star_spec.rb +1 -1
- data/spec/plugins/subscription/link_spec.rb +1 -1
- data/spec/plugins/subscription/pocket_spec.rb +57 -0
- data/spec/plugins/subscription/text_spec.rb +1 -14
- data/spec/plugins/subscription/tumblr_spec.rb +3 -2
- data/spec/plugins/subscription/twitter_search_spec.rb +57 -0
- data/spec/plugins/subscription/twitter_spec.rb +3 -2
- data/spec/plugins/subscription/weather_spec.rb +2 -15
- data/spec/spec_helper.rb +1 -0
- data/test/integration/test_chan_toru.yml +19 -0
- data/test/integration/test_fluentd.yml +20 -0
- data/test/integration/test_pocket.yml +21 -0
- data/test/integration/test_sanitize.yml +22 -0
- data/test/integration/test_twitter_search.yml +21 -0
- metadata +145 -24
- data/plugins/publish/mail.rb +0 -64
- data/plugins/publish/smtp.rb +0 -48
- data/spec/plugins/publish/mail_spec.rb +0 -53
- data/spec/plugins/publish/smtp_spec.rb +0 -49
data/doc/PLUGINS.ja
CHANGED
@@ -94,6 +94,27 @@ SubscriptionTwitter
|
|
94
94
|
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
95
95
|
|
96
96
|
|
97
|
+
SubscriptionTwitterSearch
|
98
|
+
-------------------------
|
99
|
+
[Path]
|
100
|
+
/plugins/subscription/twitter_search.rb
|
101
|
+
|
102
|
+
[Abstract]
|
103
|
+
Twitterの検索結果を取得
|
104
|
+
|
105
|
+
[Syntax]
|
106
|
+
- module: SubscriptionTwitterSearch
|
107
|
+
config:
|
108
|
+
search: 検索ワード
|
109
|
+
opt: 検索時に使用するオプション
|
110
|
+
consumer_key: 'your_consumer_key'
|
111
|
+
consumer_secret: 'your_consumer_secret'
|
112
|
+
oauth_token: 'your_oauth_token'
|
113
|
+
oauth_token_secret: 'your_oauth_token_secret'
|
114
|
+
interval: スクレイピングの間隔 (秒数, 省略可)
|
115
|
+
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
116
|
+
|
117
|
+
|
97
118
|
SubscriptionWeather
|
98
119
|
-------------------
|
99
120
|
[パス]
|
@@ -135,6 +156,62 @@ SubscriptionText
|
|
135
156
|
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
136
157
|
|
137
158
|
|
159
|
+
SubscriptionPocket
|
160
|
+
検索キーワードからCHAN-TORUページの取得(Gk)
|
161
|
+
------------------
|
162
|
+
[パス]
|
163
|
+
/plugins/subscription/pocket.rb
|
164
|
+
|
165
|
+
[概要]
|
166
|
+
Pocket APIをたたいてfeedの作成
|
167
|
+
|
168
|
+
[レシピ記法]
|
169
|
+
- module: SubscriptionPocket
|
170
|
+
config:
|
171
|
+
consumer_key: 'your_consumer_key'
|
172
|
+
access_token: 'your_access_token'
|
173
|
+
optional: # see http://getpocket.com/developer/docs/v3/retrieve
|
174
|
+
favorite: 1
|
175
|
+
count: 2
|
176
|
+
interval: スクレイピングの間隔 (秒数, 省略可)
|
177
|
+
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
178
|
+
|
179
|
+
|
180
|
+
SubscriptionGGuide
|
181
|
+
------------------
|
182
|
+
[パス]
|
183
|
+
/plugins/subscription/g_guide.rb
|
184
|
+
|
185
|
+
[概要]
|
186
|
+
検索キーワードからGガイド(テレビ番組の情報)rssの取得
|
187
|
+
|
188
|
+
[レシピ記法]
|
189
|
+
- module: SubscriptionGGuide
|
190
|
+
config:
|
191
|
+
keyword: 'アニメ' # 検索ワード
|
192
|
+
station: '地上波' # 衛星放送の区域(現在は地上波のみ対応)
|
193
|
+
interval: スクレイピングの間隔 (秒数, 省略可)
|
194
|
+
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
195
|
+
|
196
|
+
|
197
|
+
SubscriptionChanToru
|
198
|
+
--------------------
|
199
|
+
[パス]
|
200
|
+
/plugins/subscription/chan_toru.rb
|
201
|
+
|
202
|
+
[概要]
|
203
|
+
検索キーワードからCHAN-TORU(テレビ番組の情報)rssの取得
|
204
|
+
(SubscriptionGGuideプラグイン依存)
|
205
|
+
|
206
|
+
[レシピ記法]
|
207
|
+
- module: SubscriptionChanToru
|
208
|
+
config:
|
209
|
+
keyword: 'アニメ' # 検索ワード
|
210
|
+
station: '地上波' # 衛星放送の区域(現在は地上波のみ対応)
|
211
|
+
interval: スクレイピングの間隔 (秒数, 省略可)
|
212
|
+
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
213
|
+
|
214
|
+
|
138
215
|
FilterSort
|
139
216
|
----------
|
140
217
|
[パス]
|
@@ -170,6 +247,25 @@ FilterIgnore
|
|
170
247
|
- 無視キーワード ...
|
171
248
|
|
172
249
|
|
250
|
+
FilterAccept
|
251
|
+
------------
|
252
|
+
[パス]
|
253
|
+
/plugins/filter/accept.rb
|
254
|
+
|
255
|
+
[概要]
|
256
|
+
OK ワードのみにする
|
257
|
+
|
258
|
+
[レシピ記法]
|
259
|
+
- module: FilterAccept
|
260
|
+
config:
|
261
|
+
link:
|
262
|
+
- キーワード
|
263
|
+
- キーワード ...
|
264
|
+
description:
|
265
|
+
- キーワード
|
266
|
+
- キーワード ...
|
267
|
+
|
268
|
+
|
173
269
|
FilterImage
|
174
270
|
-----------
|
175
271
|
[パス]
|
@@ -196,6 +292,48 @@ FilterImageSource
|
|
196
292
|
- module: FilterImageSource
|
197
293
|
|
198
294
|
|
295
|
+
FilterOne
|
296
|
+
---------
|
297
|
+
[パス]
|
298
|
+
/plugins/filter/one.rb
|
299
|
+
|
300
|
+
[概要]
|
301
|
+
アイテムをフィードから 1 件だけ取り出す
|
302
|
+
|
303
|
+
[レシピ記法]
|
304
|
+
- module: FilterOne
|
305
|
+
config:
|
306
|
+
pick: last (省略時は先頭から)
|
307
|
+
|
308
|
+
|
309
|
+
FilterRand
|
310
|
+
----------
|
311
|
+
[パス]
|
312
|
+
/plugins/filter/rand.rb
|
313
|
+
|
314
|
+
[概要]
|
315
|
+
フィードの順番をランダムにする
|
316
|
+
|
317
|
+
[レシピ記法]
|
318
|
+
- module: FilterRand
|
319
|
+
|
320
|
+
|
321
|
+
FilterSanitize
|
322
|
+
--------------
|
323
|
+
[パス]
|
324
|
+
/plugins/filter/sanitize.rb
|
325
|
+
|
326
|
+
[概要]
|
327
|
+
HTML タグを除去する
|
328
|
+
参照 https://github.com/rgrove/sanitize
|
329
|
+
|
330
|
+
[レシピ記法]
|
331
|
+
- module: FilterSanitize
|
332
|
+
config:
|
333
|
+
mode: basic or relaxed or restricted
|
334
|
+
(デフォルト restricted)
|
335
|
+
|
336
|
+
|
199
337
|
FilterFullFeed
|
200
338
|
--------------
|
201
339
|
[パス]
|
@@ -225,7 +363,7 @@ FilterAbsoluteURI
|
|
225
363
|
|
226
364
|
|
227
365
|
FilterTumblrResize
|
228
|
-
|
366
|
+
------------------
|
229
367
|
[パス]
|
230
368
|
/plugins/filter/tumblr_resize.rb
|
231
369
|
|
@@ -240,32 +378,6 @@ FilterTumblrResize
|
|
240
378
|
- module: FilterTumblrResize
|
241
379
|
|
242
380
|
|
243
|
-
FilterOne
|
244
|
-
---------
|
245
|
-
[パス]
|
246
|
-
/plugins/filter/one.rb
|
247
|
-
|
248
|
-
[概要]
|
249
|
-
アイテムをフィードから 1 件だけ取り出す
|
250
|
-
|
251
|
-
[レシピ記法]
|
252
|
-
- module: FilterOne
|
253
|
-
config:
|
254
|
-
pick: last (省略時は先頭から)
|
255
|
-
|
256
|
-
|
257
|
-
FilterRand
|
258
|
-
----------
|
259
|
-
[パス]
|
260
|
-
/plugins/filter/rand.rb
|
261
|
-
|
262
|
-
[概要]
|
263
|
-
フィードの順番をランダムにする
|
264
|
-
|
265
|
-
[レシピ記法]
|
266
|
-
- module: FilterRand
|
267
|
-
|
268
|
-
|
269
381
|
StorePermalink
|
270
382
|
--------------
|
271
383
|
[パス]
|
@@ -299,7 +411,7 @@ StoreFullText
|
|
299
411
|
|
300
412
|
|
301
413
|
StoreTargetLink
|
302
|
-
|
414
|
+
---------------
|
303
415
|
[パス]
|
304
416
|
/plugins/store/target_link.rb
|
305
417
|
|
@@ -315,7 +427,7 @@ StoreTargetLink
|
|
315
427
|
|
316
428
|
|
317
429
|
PublishConsole
|
318
|
-
|
430
|
+
--------------
|
319
431
|
[パス]
|
320
432
|
/plugins/publish/console.rb
|
321
433
|
|
@@ -326,6 +438,47 @@ PublishConsole
|
|
326
438
|
- module: PublishConsole
|
327
439
|
|
328
440
|
|
441
|
+
PublishFluentd
|
442
|
+
--------------
|
443
|
+
[パス]
|
444
|
+
/plugins/publish/fluentd.rb
|
445
|
+
|
446
|
+
[概要]
|
447
|
+
fluentd にフィードを出力する
|
448
|
+
|
449
|
+
[説明]
|
450
|
+
このプラグインは fluentd にフィードを出力する
|
451
|
+
受け手側では以下のように fluentd を設定し起動しておく
|
452
|
+
|
453
|
+
<source>
|
454
|
+
type forward
|
455
|
+
port 9999
|
456
|
+
</source>
|
457
|
+
|
458
|
+
[レシピ記法]
|
459
|
+
- module: PublishFluentd
|
460
|
+
config:
|
461
|
+
host: ホスト名
|
462
|
+
port: ポート番号
|
463
|
+
tag: タグ (例 automatic.feed)
|
464
|
+
|
465
|
+
|
466
|
+
PublishMemcached
|
467
|
+
----------------
|
468
|
+
[パス]
|
469
|
+
/plugins/publish/memcached.rb
|
470
|
+
|
471
|
+
[概要]
|
472
|
+
フィードをハッシュに変換して memcached に出力する
|
473
|
+
|
474
|
+
[レシピ記法]
|
475
|
+
- module: PublishMemcached
|
476
|
+
config:
|
477
|
+
host: ホスト名
|
478
|
+
port: ポート番号
|
479
|
+
key: 出力するキーの名称
|
480
|
+
|
481
|
+
|
329
482
|
PublishHatenaBookmark
|
330
483
|
---------------------
|
331
484
|
[パス]
|
@@ -367,7 +520,7 @@ PublishTwitter
|
|
367
520
|
|
368
521
|
|
369
522
|
PublishPocket
|
370
|
-
|
523
|
+
-------------
|
371
524
|
[パス]
|
372
525
|
/plugins/publish/pocket.rb
|
373
526
|
|
@@ -425,6 +578,44 @@ PublishGoogleCalendar
|
|
425
578
|
interval: 複数の予定の投稿間隔 (秒)
|
426
579
|
|
427
580
|
|
581
|
+
PublishEject
|
582
|
+
------------
|
583
|
+
[パス]
|
584
|
+
/plugins/publish/eject.rb
|
585
|
+
|
586
|
+
[概要]
|
587
|
+
Feedのリンク個数分だけeject
|
588
|
+
|
589
|
+
[レシピ記法]
|
590
|
+
- module: PublishEject
|
591
|
+
config:
|
592
|
+
interval: 複数の予定の投稿間隔 (秒)
|
593
|
+
|
594
|
+
|
595
|
+
PublishHipchat
|
596
|
+
--------------
|
597
|
+
[パス]
|
598
|
+
/plugins/publish/hipchat.rb
|
599
|
+
|
600
|
+
[概要]
|
601
|
+
HipChat の room にメッセージを送信する
|
602
|
+
|
603
|
+
[説明]
|
604
|
+
HipChat API (https://www.hipchat.com/docs/api) を利用して
|
605
|
+
item.description を任意の room にメッセージを送信する
|
606
|
+
|
607
|
+
[レシピ記法]
|
608
|
+
- module: PublishHipchat
|
609
|
+
config:
|
610
|
+
api_token: HipChat の API token (省略不可)
|
611
|
+
room_id: ルームID、もしくはルーム名 (省略不可)
|
612
|
+
username: 送信元のユーザ名 (省略不可)
|
613
|
+
color: 背景の色 (省略時 'yellow')
|
614
|
+
notify: メッセージをルームの人々に notice するかどうか (0 => false, 1 => true, 省略時 0)
|
615
|
+
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
616
|
+
interval: エラー時のリトライ間隔 (秒数, 省略可)
|
617
|
+
|
618
|
+
|
428
619
|
NotifyIkachan
|
429
620
|
-------------
|
430
621
|
[パス]
|
data/doc/README
CHANGED
data/doc/README.ja
CHANGED
data/lib/automatic.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
# Name:: Automatic::Ruby
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Feb 18, 2012
|
5
|
-
# Updated::
|
6
|
-
# Copyright::
|
5
|
+
# Updated:: Jun 27, 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
|
@@ -13,7 +13,7 @@ module Automatic
|
|
13
13
|
require 'automatic/log'
|
14
14
|
require 'automatic/feed_parser'
|
15
15
|
|
16
|
-
VERSION = "13.
|
16
|
+
VERSION = "13.6.0"
|
17
17
|
USER_DIR = "/.automatic"
|
18
18
|
|
19
19
|
class << self
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Feb 19, 2012
|
5
5
|
# Updated:: Jan 8, 2013
|
6
|
-
# Copyright::
|
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
|
@@ -38,7 +38,7 @@ module Automatic
|
|
38
38
|
unless feeds.nil?
|
39
39
|
feeds.each {|feed|
|
40
40
|
unless feed.link.nil?
|
41
|
-
Automatic::Log.puts("info", "
|
41
|
+
Automatic::Log.puts("info", "Feed: #{feed.link}")
|
42
42
|
item = maker.items.new_item
|
43
43
|
item.title = feed.title
|
44
44
|
item.link = feed.link
|
data/lib/automatic/log.rb
CHANGED
@@ -3,14 +3,24 @@
|
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Feb 20, 2012
|
5
5
|
# Updated:: Mar 11, 2012
|
6
|
-
# Copyright::
|
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
|
10
10
|
module Log
|
11
|
+
LOG_LEVELS = ['info', 'warn', 'error', 'none']
|
12
|
+
|
13
|
+
def self.level(level)
|
14
|
+
@level = level
|
15
|
+
end
|
16
|
+
|
11
17
|
def self.puts(level, message)
|
18
|
+
if LOG_LEVELS.index(@level).to_i > LOG_LEVELS.index(level).to_i
|
19
|
+
return
|
20
|
+
end
|
12
21
|
t = Time.now.strftime("%Y/%m/%d %X")
|
13
|
-
print "#{t} [#{level}] #{message}\n"
|
22
|
+
print log = "#{t} [#{level}] #{message}\n"
|
23
|
+
return log
|
14
24
|
end
|
15
25
|
end
|
16
26
|
end
|
data/lib/automatic/pipeline.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Feb 22, 2012
|
5
5
|
# Updated:: Mar 10, 2012
|
6
|
-
# Copyright::
|
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 'active_support/core_ext'
|
data/lib/automatic/recipe.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
# 774 <http://id774.net>
|
5
5
|
# Created:: Feb 18, 2012
|
6
6
|
# Updated:: Jun 14, 2012
|
7
|
-
# Copyright::
|
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 'hashie'
|
@@ -21,8 +21,11 @@ module Automatic
|
|
21
21
|
def load_recipe(path)
|
22
22
|
dir = File.join((File.expand_path('~/.automatic/config/')), path)
|
23
23
|
path = dir if File.exist?(dir)
|
24
|
-
Automatic::Log.puts("info", "Loading: #{path}")
|
25
24
|
@procedure = Hashie::Mash.new(YAML.load(File.read(path)))
|
25
|
+
log_level = @procedure.global && @procedure.global.log && @procedure.global.log.level
|
26
|
+
Automatic::Log.level(log_level)
|
27
|
+
Automatic::Log.puts("info", "Loading: #{path}")
|
28
|
+
@procedure
|
26
29
|
end
|
27
30
|
|
28
31
|
def each_plugin
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# Author:: kzgs
|
4
4
|
# Created:: Feb 29, 2012
|
5
5
|
# Updated:: Mar 3, 2012
|
6
|
-
# Copyright::
|
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 'rss/maker'
|
@@ -19,12 +19,12 @@ module Automatic::Plugin
|
|
19
19
|
|
20
20
|
def run
|
21
21
|
revisions = XmlSimple.xml_in(`svn log #{svn_log_argument}`)["logentry"]
|
22
|
-
@pipeline << RSS::Maker.make("1.0") {
|
22
|
+
@pipeline << RSS::Maker.make("1.0") {|maker|
|
23
23
|
maker.channel.title = @config["title"] || ""
|
24
24
|
maker.channel.about = ""
|
25
25
|
maker.channel.description = ""
|
26
26
|
maker.channel.link = base_url
|
27
|
-
revisions.each {
|
27
|
+
revisions.each {|rev|
|
28
28
|
item = maker.items.new_item
|
29
29
|
item.title = "#{rev["msg"]} by #{rev["author"]}"
|
30
30
|
item.link = base_url+"/!svn/bc/#{rev["revision"]}"
|