Skip to content

Commit 7c118e6

Browse files
author
Matt Swanson
committed
it can fetch feeds now
1 parent d1c9909 commit 7c118e6

9 files changed

Lines changed: 20 additions & 10 deletions

File tree

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ gem "rake"
99
gem "delayed_job_active_record"
1010

1111
gem "feedzirra", github: "pauldix/feedzirra"
12+
gem "loofah"
1213

1314
group :production do
1415
gem "unicorn"

Gemfile.lock

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ PLATFORMS
104104
DEPENDENCIES
105105
delayed_job_active_record
106106
feedzirra!
107+
loofah
107108
pg
108109
pry
109110
rack-test

Rakefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ require "bundler"
44
Bundler.require
55

66
require "./app"
7+
require_relative "./app/tasks/fetch_feeds"
78

89
task :fetch_feeds do
9-
puts "fetch some feeds yo"
10+
FetchFeeds.new(Feed.all).fetch_all
1011
end
1112

1213
desc "Clear the delayed_job queue."

app.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def render(*args)
3333
end
3434

3535
get "/" do
36-
@stories = Story.all
36+
@stories = Story.all.sample(5)
3737

3838
erb :index
3939
end

app/models/story.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ class Story < ActiveRecord::Base
22
belongs_to :feed
33

44
def headline
5-
self.title
5+
self.title[0, 50]
66
end
77

88
def lead
9-
self.body[0,10]
9+
Loofah.fragment(self.body).text[0,25]
1010
end
1111

1212
def source
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
class StoryRepository
22
def self.add(entry, feed)
3-
3+
Story.create(feed: feed, title: entry.title, permalink: entry.url, body: entry.content.sanitize)
44
end
55
end

app/tasks/fetch_feed.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require "feedzirra"
2+
23
require_relative "../repositories/story_repository"
34
require_relative "../repositories/feed_repository"
45

@@ -12,11 +13,16 @@ def fetch
1213
result = @parser.fetch_and_parse(@feed.url)
1314

1415
unless result.last_modified < @feed.last_fetched
15-
FeedRepository.update_last_fetched(@feed, result.last_modified)
16-
1716
result.entries.each do |entry|
18-
StoryRepository.add(entry, @feed) if is_new?(entry)
17+
begin
18+
StoryRepository.add(entry, @feed) if is_new?(entry)
19+
rescue
20+
require "pry"
21+
binding.pry
22+
end
1923
end
24+
25+
FeedRepository.update_last_fetched(@feed, result.last_modified)
2026
end
2127

2228
result

app/views/index.erb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@
4343
</div>
4444

4545
<div class="story-body-container" class="row-fluid" style="display: none;">
46-
<p class="story-body">
46+
<div class="story-body">
4747
<%= story.body %>
48-
</p>
48+
</div>
4949
<div class="row-fluid story-actions-container">
5050
<div class="pull-right story-actions">
5151
<a href="#">

app/views/layout.erb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<!DOCTYPE html>
22
<html>
33
<head>
4+
<title>stringer | your rss buddy</title>
45
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
56

67
<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">

0 commit comments

Comments
 (0)