From 6b719f2cb9285bfc09d8f8b4b4385fbdb5a0b395 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Tue, 5 May 2015 11:03:51 +0200 Subject: Use ERB for templating. --- lib/views/feed_footer.html.erb | 1 + lib/views/feed_header.html.erb | 2 ++ lib/views/item.html.erb | 8 ++++++++ rss.rb | 18 ++++++++---------- 4 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 lib/views/feed_footer.html.erb create mode 100644 lib/views/feed_header.html.erb create mode 100644 lib/views/item.html.erb diff --git a/lib/views/feed_footer.html.erb b/lib/views/feed_footer.html.erb new file mode 100644 index 0000000..c63a94a --- /dev/null +++ b/lib/views/feed_footer.html.erb @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lib/views/feed_header.html.erb b/lib/views/feed_header.html.erb new file mode 100644 index 0000000..698f85d --- /dev/null +++ b/lib/views/feed_header.html.erb @@ -0,0 +1,2 @@ +
+

<%= feed.title %>

diff --git a/lib/views/item.html.erb b/lib/views/item.html.erb new file mode 100644 index 0000000..5c0aea8 --- /dev/null +++ b/lib/views/item.html.erb @@ -0,0 +1,8 @@ +
+
+

<%= item.title %>

+
Posted by <%= item.author %> at <%= item.date %>
+
+
<%= item.summary %> + +
diff --git a/rss.rb b/rss.rb index 15be5ed..ea1068c 100644 --- a/rss.rb +++ b/rss.rb @@ -18,23 +18,21 @@ require_relative 'lib/feed_item' require_relative 'lib/feed' require 'yaml' +require 'erb' feeds = YAML.load(IO.read('feeds.yml')) items = [] +feed_header = ERB.new(IO.read('lib/views/feed_header.html.erb')) +feed_footer = ERB.new(IO.read('lib/views/feed_footer.html.erb')) +item_template = ERB.new(IO.read('lib/views/item.html.erb')) + feeds.each do |t, f| feed = Feed.new(t, f) + puts feed_header.result(binding) + feed.fetch do |entry| item = FeedItem.new(entry) - - puts %{
} - puts %{
} - puts %{

#{item.title}

} - puts %{
Posted by #{item.author} at #{item.date}
} - puts %{
} - puts %{
#{item.summary}} - puts %{ } - puts %{
} - puts + puts item_template.result(binding) end end -- cgit v1.2.3