rrimm 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/Gemfile.lock +6 -6
- data/lib/rrimm/fetcher.rb +2 -2
- data/lib/rrimm/item_formatter/mail.rb +8 -9
- data/rrimm.gemspec +2 -2
- data/spec/xkcd_spec.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NWM5M2NiOTY1MzE3YzUzMjUzZWEyMWE3MDZkNDE1MmIxZTFlZWRiMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzUyYzE1YThjMWMxNGM4NWEwMWVmZjQ2M2EzYjkwM2MwZGJhMTc2MQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjZmY2NlZWM3MzIxMjEwYmU5YWMwYTU5N2JmNDQzZDM2NDc5Yzk5ZTc1NjEz
|
10
|
+
ZmMyMGY1YzMxNjg5NGUyOTA4MWYzYjBmMDNiYmMyOGM2MjRlOTMxOGQ0M2I4
|
11
|
+
ZTk4NWZjNTExNDBmZGU1YjFkMDI2OTI5MjY1MjRhMWJmZTU1ZTU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MmY5ZTc2ZTg5YzQ5YjlmNDIzY2EzMGY0MmEzY2E3YzZlMjFiYWQ0MGY2MDc0
|
14
|
+
NjBjMTUzMmIzZDAyMTFlMTljYjk5MDZkM2I3NTA0OWMxOThiNDZmNWQwMDAw
|
15
|
+
ZDI5ZmE1YjZiOGMyZjg1MTE3YTA4OTQ3YWY5MTNkMDc0OTMzYTE=
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rrimm (0.
|
4
|
+
rrimm (0.7.1)
|
5
5
|
colorize
|
6
|
-
|
6
|
+
feedjira
|
7
7
|
open_uri_redirections
|
8
8
|
parallel
|
9
9
|
|
@@ -12,7 +12,7 @@ GEM
|
|
12
12
|
specs:
|
13
13
|
codeclimate-test-reporter (0.3.0)
|
14
14
|
simplecov (>= 0.7.1, < 1.0.0)
|
15
|
-
colorize (0.7.
|
15
|
+
colorize (0.7.2)
|
16
16
|
coveralls (0.7.0)
|
17
17
|
multi_json (~> 1.3)
|
18
18
|
rest-client
|
@@ -22,19 +22,19 @@ GEM
|
|
22
22
|
curb (0.8.5)
|
23
23
|
diff-lcs (1.2.5)
|
24
24
|
docile (1.1.3)
|
25
|
-
|
25
|
+
feedjira (1.2.0)
|
26
26
|
curb (~> 0.8.1)
|
27
27
|
loofah (~> 1.2.1)
|
28
28
|
sax-machine (~> 0.2.1)
|
29
29
|
loofah (1.2.1)
|
30
30
|
nokogiri (>= 1.4.4)
|
31
31
|
mime-types (2.1)
|
32
|
-
mini_portile (0.5.
|
32
|
+
mini_portile (0.5.3)
|
33
33
|
multi_json (1.9.0)
|
34
34
|
nokogiri (1.6.1)
|
35
35
|
mini_portile (~> 0.5.0)
|
36
36
|
open_uri_redirections (0.1.4)
|
37
|
-
parallel (0.
|
37
|
+
parallel (1.0.0)
|
38
38
|
rest-client (1.6.7)
|
39
39
|
mime-types (>= 1.16)
|
40
40
|
rspec (2.14.1)
|
data/lib/rrimm/fetcher.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'feedjira'
|
2
2
|
require 'open-uri'
|
3
3
|
require 'open_uri_redirections'
|
4
4
|
require 'parallel'
|
@@ -36,7 +36,7 @@ module RRImm
|
|
36
36
|
def fetch_feed(name, feed_config)
|
37
37
|
last_read = Time.at(@config.get_cache.read(feed_config))
|
38
38
|
puts name unless @quiet
|
39
|
-
feed =
|
39
|
+
feed = Feedjira::Feed.fetch_and_parse(feed_config.uri)
|
40
40
|
items = feed.entries.select { |item| item.published > last_read }
|
41
41
|
last_read = items.collect { |item| item.published }.max unless items.empty?
|
42
42
|
items.each do |item|
|
@@ -9,18 +9,17 @@ module RRImm
|
|
9
9
|
@sender = hash[:from]
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
13
|
-
|
14
|
-
|
12
|
+
def guess_author(feed_config, item_author)
|
13
|
+
name = "RRImm"
|
14
|
+
name = feed_config.name unless feed_config.default_name?
|
15
|
+
name = item_author if item_author
|
16
|
+
if name.include? '@'
|
17
|
+
name
|
15
18
|
else
|
16
|
-
"#{
|
19
|
+
"#{name} <#{@sender}>"
|
17
20
|
end
|
18
21
|
end
|
19
22
|
|
20
|
-
def from(authors)
|
21
|
-
authors.compact.select { |a| a.include? '@' }.first
|
22
|
-
end
|
23
|
-
|
24
23
|
def subject(feed, item, feed_config)
|
25
24
|
subject = item.title
|
26
25
|
subject = "[#{feed_config.category}]#{item.title}" if feed_config.category
|
@@ -28,7 +27,7 @@ module RRImm
|
|
28
27
|
end
|
29
28
|
|
30
29
|
def format(feed, item, feed_config, pipe)
|
31
|
-
pipe.write "From: #{
|
30
|
+
pipe.write "From: #{guess_author(feed_config, item.author)}\n"
|
32
31
|
pipe.write "To: #{dest}\n"
|
33
32
|
pipe.write "Date: #{item.published.rfc2822}\n"
|
34
33
|
pipe.write "Subject: #{subject(feed, item, feed_config)}\n"
|
data/rrimm.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'rrimm'
|
3
|
-
s.version = '0.
|
3
|
+
s.version = '0.7.1'
|
4
4
|
s.licenses = ['Apache Licence v2']
|
5
5
|
s.summary = "RSS to email tool"
|
6
6
|
s.description = "imm reboot in ruby. Retrieve rss feeds and send them by email"
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
|
14
14
|
s.add_dependency 'open_uri_redirections'
|
15
15
|
s.add_dependency 'parallel'
|
16
|
-
s.add_dependency '
|
16
|
+
s.add_dependency 'feedjira'
|
17
17
|
s.add_dependency 'colorize'
|
18
18
|
|
19
19
|
s.add_development_dependency 'rspec'
|
data/spec/xkcd_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe RRImm::ItemFormatter::Mail do
|
|
8
8
|
to: 'to@example.com'
|
9
9
|
)
|
10
10
|
xkcd_file = File.join('file://', File.dirname(__FILE__), 'xkcd.xml')
|
11
|
-
feed =
|
11
|
+
feed = Feedjira::Feed.fetch_and_parse(xkcd_file)
|
12
12
|
expect(feed.entries.size).to be > 0
|
13
13
|
s = StringIO.new
|
14
14
|
config = double('config')
|
@@ -27,7 +27,7 @@ describe RRImm::ItemFormatter::Default do
|
|
27
27
|
it 'formats correctly xkcd feed' do
|
28
28
|
default_formatter = RRImm::ItemFormatter::Default.new
|
29
29
|
xkcd_file = File.join('file://', File.dirname(__FILE__), 'xkcd.xml')
|
30
|
-
feed =
|
30
|
+
feed = Feedjira::Feed.fetch_and_parse(xkcd_file)
|
31
31
|
expect(feed.entries.size).to be > 0
|
32
32
|
s = StringIO.new
|
33
33
|
default_formatter.format(feed, feed.entries.first, nil, s)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rrimm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grégoire Seux
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: open_uri_redirections
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: feedjira
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ! '>='
|