newsfetcher 0.84 → 0.86

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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb18377fe7a1b55c9a1f9778b6824294ab8c65cad6f8260d388b61629247de48
4
- data.tar.gz: a0648cec658c5299075ac08a3e5524a766d14aac20f0b8efd37603a607e4be93
3
+ metadata.gz: 006d29ea1d74a5041324ea30fe6d3d9139b1ca482d439e2ced42a77b3e5c338b
4
+ data.tar.gz: 792522304d04f84d50f855ccc81770114a82bdf9f11b06f455082953393b3bc8
5
5
  SHA512:
6
- metadata.gz: 636aad38f91c50934a524f7862143bc0b31b7b544b5a2f82686dcf51ce6ac3a91d361e407fb55190b7c13465e396c241bfc550b1f660e13176644c53eb4f8f3f
7
- data.tar.gz: 3b5710a57847e4653c822b57242437df7d21576bcedc39d5ba1eb7b91df605e9e6590ff23434fb4121dc1f904ba155085c24e78bf2142a20f6a54387260e5300
6
+ metadata.gz: f30983e345e236ae0b244fdb3d90bfbb99388d90a2233f59cad72bea37651c6fa70d9f5c25c49761a93ddb32cd39bdb2741b9fe4de7293af32fb3d62356856f1
7
+ data.tar.gz: 6533060a58ce4caf9ed0d94f328bc15840f30cb57e7603fe725b544070bc4dd5149445ce5238ff6702a4d5c2e8205886ddcd5d42d50e0696bcc1aea467cd01e7
data/bin/newsfetcher CHANGED
@@ -1,10 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'newsfetcher'
3
+ require_relative '../lib/newsfetcher'
4
4
 
5
- begin
6
- Simple::CommandParser.run(ARGV)
7
- rescue Simple::CommandParser::UsageError => error
8
- warn error
9
- exit(1)
10
- end
5
+ Simple::CommandParser.run!(ARGV)
@@ -8,6 +8,7 @@ module NewsFetcher
8
8
  attr_accessor :uri
9
9
  attr_accessor :author
10
10
  attr_accessor :content
11
+ attr_accessor :links
11
12
 
12
13
  include SetParams
13
14
  include Simple::Printer::Printable
@@ -23,13 +24,20 @@ module NewsFetcher
23
24
  uri = nil
24
25
  end
25
26
  id = entry.entry_id || uri or raise Error, "Can't determine ID or URL for entry"
27
+ content = (entry.content || entry.summary)&.to_s
28
+ if entry.respond_to?(:links)
29
+ links = (entry.links.map { |l| Addressable::URI.parse(l) rescue nil } - [uri]).compact
30
+ else
31
+ links = nil
32
+ end
26
33
  super(
27
34
  id: id.to_s,
28
- uri: uri,
35
+ uri:,
29
36
  date: entry.published || Time.now,
30
37
  title: entry.title,
31
38
  author: entry.respond_to?(:author) ? entry.author&.sub(/^by\s+/i, '') : nil,
32
- content: (entry.content || entry.summary)&.to_s,
39
+ content:,
40
+ links:,
33
41
  )
34
42
  end
35
43
 
@@ -40,6 +48,7 @@ module NewsFetcher
40
48
  :title,
41
49
  :uri,
42
50
  :author,
51
+ :links,
43
52
  ]
44
53
  end
45
54
 
@@ -264,6 +264,13 @@ module NewsFetcher
264
264
  html << Scrubber.text_to_html(item.content)
265
265
  end
266
266
  end
267
+ if item.links
268
+ item.links.each do |link|
269
+ html.ul do
270
+ html.a(link.prettify, href: link)
271
+ end
272
+ end
273
+ end
267
274
  end
268
275
  end
269
276
  end.to_html
data/lib/newsfetcher.rb CHANGED
@@ -44,17 +44,17 @@ module NewsFetcher
44
44
  ]
45
45
  end
46
46
 
47
- require 'newsfetcher/extensions/string'
48
- require 'newsfetcher/extensions/mail'
49
- require 'newsfetcher/extensions/addressable-uri'
47
+ require_relative 'newsfetcher/extensions/string'
48
+ require_relative 'newsfetcher/extensions/mail'
49
+ require_relative 'newsfetcher/extensions/addressable-uri'
50
50
 
51
- require 'newsfetcher/error'
52
- require 'newsfetcher/fetcher'
53
- require 'newsfetcher/history'
54
- require 'newsfetcher/item'
55
- require 'newsfetcher/profile'
56
- require 'newsfetcher/scrubber'
57
- require 'newsfetcher/subscription'
51
+ require_relative 'newsfetcher/error'
52
+ require_relative 'newsfetcher/fetcher'
53
+ require_relative 'newsfetcher/history'
54
+ require_relative 'newsfetcher/item'
55
+ require_relative 'newsfetcher/profile'
56
+ require_relative 'newsfetcher/scrubber'
57
+ require_relative 'newsfetcher/subscription'
58
58
 
59
59
  module NewsFetcher
60
60
 
@@ -82,5 +82,5 @@ module NewsFetcher
82
82
 
83
83
  end
84
84
 
85
- require 'newsfetcher/command'
86
- Path.new(__FILE__).dirname.glob('newsfetcher/commands/*.rb').each { |p| require p }
85
+ require_relative 'newsfetcher/command'
86
+ Path.new(__FILE__).dirname.glob('newsfetcher/commands/*.rb').each { |p| require_relative p }
data/newsfetcher.gemspec CHANGED
@@ -1,8 +1,6 @@
1
- require_relative 'lib/newsfetcher/version'
2
-
3
1
  Gem::Specification.new do |s|
4
2
  s.name = 'newsfetcher'
5
- s.version = NewsFetcher::VERSION
3
+ s.version = '0.86'
6
4
  s.summary = 'Monitor RSS/Atom feeds and deliver new items by email'
7
5
  s.author = 'John Labovitz'
8
6
  s.email = 'johnl@johnlabovitz.com'
@@ -19,23 +17,23 @@ Gem::Specification.new do |s|
19
17
 
20
18
  s.add_dependency 'addressable', '~> 2.8'
21
19
  s.add_dependency 'addressable-prettify', '~> 0.2'
22
- s.add_dependency 'erb', '~> 4.0'
20
+ s.add_dependency 'erb', '~> 6.0'
23
21
  s.add_dependency 'faraday', '~> 2.14'
24
- s.add_dependency 'feedjira', '~> 3.2'
25
- s.add_dependency 'loofah', '~> 2.24'
26
- s.add_dependency 'mail', '~> 2.8'
22
+ s.add_dependency 'feedjira', '~> 4.0'
23
+ s.add_dependency 'loofah', '~> 2.25'
24
+ s.add_dependency 'mail', '~> 2.9'
27
25
  s.add_dependency 'maildir', '~> 2.2'
28
- s.add_dependency 'ostruct', '0.6'
26
+ s.add_dependency 'ostruct', '~> 0.6'
29
27
  s.add_dependency 'path', '~> 2.1'
30
28
  s.add_dependency 'rubypants', '~> 0.7'
31
29
  s.add_dependency 'sassc', '~> 2.4'
32
30
  s.add_dependency 'set_params', '~> 0.3'
33
31
  s.add_dependency 'simple-builder', '~> 0.4'
34
- s.add_dependency 'simple-command-parser', '~> 1.1'
35
- s.add_dependency 'simple-configurator', '~> 0.1'
32
+ s.add_dependency 'simple-command-parser', '~> 1.2'
33
+ s.add_dependency 'simple-configurator', '~> 0.2'
36
34
  s.add_dependency 'simple-printer', '~> 0.4'
37
35
 
38
- s.add_development_dependency 'minitest', '~> 5.26'
36
+ s.add_development_dependency 'minitest', '~> 6.0'
39
37
  s.add_development_dependency 'minitest-power_assert', '~> 0.3'
40
38
  s.add_development_dependency 'rake', '~> 13.3'
41
39
  s.add_development_dependency 'simple-rake-tasks', '~> 0.1'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newsfetcher
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.84'
4
+ version: '0.86'
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Labovitz
@@ -43,14 +43,14 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '4.0'
46
+ version: '6.0'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '4.0'
53
+ version: '6.0'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: faraday
56
56
  requirement: !ruby/object:Gem::Requirement
@@ -71,42 +71,42 @@ dependencies:
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.2'
74
+ version: '4.0'
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '3.2'
81
+ version: '4.0'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: loofah
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '2.24'
88
+ version: '2.25'
89
89
  type: :runtime
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '2.24'
95
+ version: '2.25'
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: mail
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '2.8'
102
+ version: '2.9'
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '2.8'
109
+ version: '2.9'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: maildir
112
112
  requirement: !ruby/object:Gem::Requirement
@@ -125,14 +125,14 @@ dependencies:
125
125
  name: ostruct
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - '='
128
+ - - "~>"
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0.6'
131
131
  type: :runtime
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - '='
135
+ - - "~>"
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0.6'
138
138
  - !ruby/object:Gem::Dependency
@@ -211,28 +211,28 @@ dependencies:
211
211
  requirements:
212
212
  - - "~>"
213
213
  - !ruby/object:Gem::Version
214
- version: '1.1'
214
+ version: '1.2'
215
215
  type: :runtime
216
216
  prerelease: false
217
217
  version_requirements: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - "~>"
220
220
  - !ruby/object:Gem::Version
221
- version: '1.1'
221
+ version: '1.2'
222
222
  - !ruby/object:Gem::Dependency
223
223
  name: simple-configurator
224
224
  requirement: !ruby/object:Gem::Requirement
225
225
  requirements:
226
226
  - - "~>"
227
227
  - !ruby/object:Gem::Version
228
- version: '0.1'
228
+ version: '0.2'
229
229
  type: :runtime
230
230
  prerelease: false
231
231
  version_requirements: !ruby/object:Gem::Requirement
232
232
  requirements:
233
233
  - - "~>"
234
234
  - !ruby/object:Gem::Version
235
- version: '0.1'
235
+ version: '0.2'
236
236
  - !ruby/object:Gem::Dependency
237
237
  name: simple-printer
238
238
  requirement: !ruby/object:Gem::Requirement
@@ -253,14 +253,14 @@ dependencies:
253
253
  requirements:
254
254
  - - "~>"
255
255
  - !ruby/object:Gem::Version
256
- version: '5.26'
256
+ version: '6.0'
257
257
  type: :development
258
258
  prerelease: false
259
259
  version_requirements: !ruby/object:Gem::Requirement
260
260
  requirements:
261
261
  - - "~>"
262
262
  - !ruby/object:Gem::Version
263
- version: '5.26'
263
+ version: '6.0'
264
264
  - !ruby/object:Gem::Dependency
265
265
  name: minitest-power_assert
266
266
  requirement: !ruby/object:Gem::Requirement
@@ -343,7 +343,6 @@ files:
343
343
  - lib/newsfetcher/profile.rb
344
344
  - lib/newsfetcher/scrubber.rb
345
345
  - lib/newsfetcher/subscription.rb
346
- - lib/newsfetcher/version.rb
347
346
  - message/stylesheet.css
348
347
  - newsfetcher.gemspec
349
348
  - test/history_test.rb
@@ -366,7 +365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
366
365
  - !ruby/object:Gem::Version
367
366
  version: '0'
368
367
  requirements: []
369
- rubygems_version: 3.7.2
368
+ rubygems_version: 4.0.3
370
369
  specification_version: 4
371
370
  summary: Monitor RSS/Atom feeds and deliver new items by email
372
371
  test_files:
@@ -1,5 +0,0 @@
1
- module NewsFetcher
2
-
3
- VERSION = '0.84'
4
-
5
- end