rrimm 0.7.2 → 0.9.0

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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZWViZWY1NjQwNTJkZTQ2NjJhM2U1OWUxODg2ZDY0YzNmZWExN2YyMQ==
5
- data.tar.gz: !binary |-
6
- M2IwMmJjNDAyYTc5ZTgwZGQxZTUzN2UwZjU1OGIxZGQwOTg5OTFjMw==
2
+ SHA1:
3
+ metadata.gz: c42c07425e1b028e898d4c64689e6fa2ec799d09
4
+ data.tar.gz: 0013f94a2a64982c3cf6dd21c0566b2561a1da8c
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YTQ1OGZhYmE1ZDYyYmVkNjNjOGM2MzdhYzQ5MjAyMGNhOWVkYWU4NTk1OTcx
10
- ZjQyODY0YjRkYWUwZTFkZGE4NTU3ZDQ3NDQ3ODZkMjQ2OTk4ZGNkZTk2NjNm
11
- NjQ0NGExYmY1YmNhNTU2YTJiNDE1MzQ0NDdhZDE2ZjBmNjhjMTc=
12
- data.tar.gz: !binary |-
13
- NjY5YTc0YWM3ZGVkMGFiZDQ4NzM4Yzk1MDc2YjRiMjc2YjNkMGRmMTllZTQy
14
- NmM4OGU1ZjE2ZTJlZjY2YzA3NWRhNTNjZjUwNjEyMTExM2EwNjE0ZDMxMGEw
15
- N2QxOTQxYjdmNGZlMjU3N2UxOGU5MmI0NWE0MTAzZTQwMmRlOGM=
6
+ metadata.gz: a4e8d1fc6cb0e9ffbc6263011bb32dd635f42bd15b926dcc819946789c4b7cfe75f4a0fe9ed11337175a28df6029e33f0ad534111b88548b8ed7f14a9ef723ff
7
+ data.tar.gz: 3f2a69c9f8c8fa8b9598270db124cadc71701ad147c914baee7e1b8f67c3ffe7a98bb0d3e9e2e3f18ae33de2952bb85be2f28e6d0631916dbaf8880df4580f41
data/.travis.yml CHANGED
@@ -1,7 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
3
  - 2.1.0
6
4
  - ruby-head
7
5
  addons:
@@ -16,3 +14,6 @@ deploy:
16
14
  on:
17
15
  tags: true
18
16
  repo: kamaradclimber/rrimm
17
+ env:
18
+ global:
19
+ - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
data/Gemfile.lock CHANGED
@@ -1,40 +1,41 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rrimm (0.7.2)
4
+ rrimm (0.9.0)
5
5
  colorize
6
6
  feedjira
7
7
  open_uri_redirections
8
8
  parallel
9
+ ruby-progressbar
9
10
 
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
13
14
  codeclimate-test-reporter (0.3.0)
14
15
  simplecov (>= 0.7.1, < 1.0.0)
15
- colorize (0.7.2)
16
+ colorize (0.7.3)
16
17
  coveralls (0.7.0)
17
18
  multi_json (~> 1.3)
18
19
  rest-client
19
20
  simplecov (>= 0.7)
20
21
  term-ansicolor
21
22
  thor
22
- curb (0.8.5)
23
+ curb (0.8.6)
23
24
  diff-lcs (1.2.5)
24
25
  docile (1.1.3)
25
- feedjira (1.2.0)
26
- curb (~> 0.8.1)
27
- loofah (~> 1.2.1)
28
- sax-machine (~> 0.2.1)
29
- loofah (1.2.1)
30
- nokogiri (>= 1.4.4)
26
+ feedjira (1.4.0)
27
+ curb (~> 0.8)
28
+ loofah (~> 2.0)
29
+ sax-machine (~> 1.0)
30
+ loofah (2.0.1)
31
+ nokogiri (>= 1.5.9)
31
32
  mime-types (2.1)
32
- mini_portile (0.5.3)
33
+ mini_portile (0.6.0)
33
34
  multi_json (1.9.0)
34
- nokogiri (1.6.1)
35
- mini_portile (~> 0.5.0)
35
+ nokogiri (1.6.3.1)
36
+ mini_portile (= 0.6.0)
36
37
  open_uri_redirections (0.1.4)
37
- parallel (1.0.0)
38
+ parallel (1.3.2)
38
39
  rest-client (1.6.7)
39
40
  mime-types (>= 1.16)
40
41
  rspec (2.14.1)
@@ -45,8 +46,8 @@ GEM
45
46
  rspec-expectations (2.14.5)
46
47
  diff-lcs (>= 1.1.3, < 2.0)
47
48
  rspec-mocks (2.14.6)
48
- sax-machine (0.2.1)
49
- nokogiri (~> 1.6.0)
49
+ ruby-progressbar (1.6.0)
50
+ sax-machine (1.0.2)
50
51
  simplecov (0.8.2)
51
52
  docile (~> 1.1.0)
52
53
  multi_json
data/lib/rrimm/fetcher.rb CHANGED
@@ -2,6 +2,7 @@ require 'feedjira'
2
2
  require 'open-uri'
3
3
  require 'open_uri_redirections'
4
4
  require 'parallel'
5
+ require 'timeout'
5
6
 
6
7
  module RRImm
7
8
  class Fetcher
@@ -22,7 +23,8 @@ module RRImm
22
23
  end
23
24
 
24
25
  def parallel_fetch(concurrency)
25
- Parallel.map(@config.feeds, :in_threads => concurrency) do |name,feed_config|
26
+ Parallel.map(@config.feeds, :in_threads => concurrency, :progress => "fetching") do |name,feed_config|
27
+ @quiet = true
26
28
  fetch_feed(name, feed_config)
27
29
  end
28
30
  end
@@ -34,8 +36,18 @@ module RRImm
34
36
  end
35
37
 
36
38
  def fetch_feed(name, feed_config)
39
+ begin
40
+ Timeout::timeout(30) do
41
+ fetch_feed_no_timeout(name, feed_config)
42
+ end
43
+ rescue Timeout::Error
44
+ puts "#{name} timeout after 30 seconds"
45
+ end
46
+ end
47
+
48
+ def fetch_feed_no_timeout(name, feed_config)
37
49
  last_read = Time.at(@config.get_cache.read(feed_config))
38
- puts name unless @quiet
50
+ print name unless @quiet
39
51
  feed = Feedjira::Feed.fetch_and_parse(feed_config.uri)
40
52
  if feed.respond_to? :entries
41
53
  items = feed.entries.select { |item| item.published > last_read }
@@ -45,6 +57,7 @@ module RRImm
45
57
  end
46
58
  @config.get_cache.save(feed_config, last_read.to_i, false)
47
59
  end
60
+ puts " (#{items.size rescue nil})" unless @quiet
48
61
  end
49
62
  end
50
63
  end
data/rrimm.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'rrimm'
3
- s.version = '0.7.2'
3
+ s.version = '0.9.0'
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,6 +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 'ruby-progressbar'
16
17
  s.add_dependency 'feedjira'
17
18
  s.add_dependency 'colorize'
18
19
 
metadata CHANGED
@@ -1,111 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rrimm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.9.0
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-06-14 00:00:00.000000000 Z
11
+ date: 2014-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: open_uri_redirections
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: parallel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ruby-progressbar
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: feedjira
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ! '>='
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
61
  version: '0'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ! '>='
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: colorize
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ! '>='
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
75
  version: '0'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ! '>='
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ! '>='
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
89
  version: '0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ! '>='
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: coveralls
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ! '>='
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - ! '>='
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: codeclimate-test-reporter
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - ! '>='
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - ! '>='
122
+ - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
125
  description: imm reboot in ruby. Retrieve rss feeds and send them by email
@@ -115,9 +129,9 @@ executables:
115
129
  extensions: []
116
130
  extra_rdoc_files: []
117
131
  files:
118
- - .coveralls.yml
119
- - .gitignore
120
- - .travis.yml
132
+ - ".coveralls.yml"
133
+ - ".gitignore"
134
+ - ".travis.yml"
121
135
  - CONTRIBUTING.md
122
136
  - Gemfile
123
137
  - Gemfile.lock
@@ -155,12 +169,12 @@ require_paths:
155
169
  - lib
156
170
  required_ruby_version: !ruby/object:Gem::Requirement
157
171
  requirements:
158
- - - ! '>='
172
+ - - ">="
159
173
  - !ruby/object:Gem::Version
160
174
  version: '0'
161
175
  required_rubygems_version: !ruby/object:Gem::Requirement
162
176
  requirements:
163
- - - ! '>='
177
+ - - ">="
164
178
  - !ruby/object:Gem::Version
165
179
  version: '0'
166
180
  requirements: []