diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2015-05-05 10:42:59 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2015-05-05 10:42:59 +0200 |
commit | fb1cc37a6789fa08a7becf911c3892504627810b (patch) | |
tree | 2a9387ba6c39fa187e7672652e47f7a2fcbc566a /lib/feed.rb | |
parent | 8adcbede3f2b326bb65cbb63a0dbf3dfa0a26a79 (diff) | |
download | rss2html-fb1cc37a6789fa08a7becf911c3892504627810b.tar.gz rss2html-fb1cc37a6789fa08a7becf911c3892504627810b.tar.bz2 rss2html-fb1cc37a6789fa08a7becf911c3892504627810b.zip |
Refactor Feed and FeedItem into separate files.
Diffstat (limited to 'lib/feed.rb')
-rw-r--r-- | lib/feed.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/feed.rb b/lib/feed.rb new file mode 100644 index 0000000..a2f3db4 --- /dev/null +++ b/lib/feed.rb @@ -0,0 +1,36 @@ +# A Simple RSS reader +# Copyright (C) 2015 Harald Eilertsen +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +require 'rss' +require 'open-uri' + +class Feed + attr_reader :title, :url + + def initialize(title, args) + @title, @url = title, args['url'] + end + + def fetch + open(url) do |rss| + feed = RSS::Parser.parse(rss) + + feed.entries.each do |item| + yield item + end + end + end +end |