88# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
99
1010module Automatic ::Plugin
11- class TextFeed
12- attr_accessor :title , :link , :description , :author , :comments
13-
14- def initialize
15- @link = 'http://dummy'
16- @title = 'dummy'
17- @description = ''
18- @author = ''
19- @comments = ''
20- end
21- end
22-
2311 class SubscriptionText
24-
2512 def initialize ( config , pipeline = [ ] )
2613 @config = config
2714 @pipeline = pipeline
15+ @return_feeds = [ ]
2816 end
2917
3018 def run
3119 create_feed
32-
33- if @dummyfeeds != [ ]
34- @pipeline << Automatic ::FeedParser . create ( @dummyfeeds )
35- end
20+ @pipeline << Automatic ::FeedParser . create ( @return_feeds ) unless @return_feeds . length == 0
3621 @pipeline
3722 end
3823
3924 private
4025
41- def generate_textfeed ( feed )
42- textFeed = TextFeed . new
43- textFeed . title = feed [ 'title' ] unless feed [ 'title' ] . nil?
44- textFeed . link = feed [ 'url' ] unless feed [ 'url' ] . nil?
45- textFeed . description = feed [ 'description' ] unless feed [ 'description' ] . nil?
46- textFeed . author = feed [ 'author' ] unless feed [ 'author' ] . nil?
47- textFeed . comments = feed [ 'comments' ] unless feed [ 'comments' ] . nil?
48- @dummyfeeds << textFeed
49- end
50-
5126 def create_feed
5227 unless @config . nil?
5328 @dummyfeeds = [ ]
5429 unless @config [ 'titles' ] . nil?
5530 @config [ 'titles' ] . each { |title |
5631 feed = { }
5732 feed [ 'title' ] = title
58- generate_textfeed ( feed )
33+ @return_feeds << Automatic :: FeedParser . generate_feed ( feed )
5934 }
6035 end
6136
6237 unless @config [ 'urls' ] . nil?
6338 @config [ 'urls' ] . each { |url |
6439 feed = { }
6540 feed [ 'url' ] = url
66- generate_textfeed ( feed )
41+ @return_feeds << Automatic :: FeedParser . generate_feed ( feed )
6742 }
6843 end
6944
7045 unless @config [ 'feeds' ] . nil?
7146 @config [ 'feeds' ] . each { |feed |
72- generate_textfeed ( feed )
47+ @return_feeds << Automatic :: FeedParser . generate_feed ( feed )
7348 }
7449 end
7550
@@ -80,7 +55,7 @@ def create_feed
8055 feed = { }
8156 feed [ 'title' ] , feed [ 'url' ] , feed [ 'description' ] , feed [ 'author' ] ,
8257 feed [ 'comments' ] = line . force_encoding ( "utf-8" ) . strip . split ( "\t " )
83- generate_textfeed ( feed )
58+ @return_feeds << Automatic :: FeedParser . generate_feed ( feed )
8459 end
8560 end
8661 }
0 commit comments