newsfetcher 0.85 → 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: e0579bb8a9cf7eb109782ed98b7f38a49c6be3c0959d139df070a1ca87b76833
4
- data.tar.gz: 49ab3d91511500f363f679439c4892ae0cbff6b8b614916d4e295c9cb0f712f4
3
+ metadata.gz: 006d29ea1d74a5041324ea30fe6d3d9139b1ca482d439e2ced42a77b3e5c338b
4
+ data.tar.gz: 792522304d04f84d50f855ccc81770114a82bdf9f11b06f455082953393b3bc8
5
5
  SHA512:
6
- metadata.gz: 541e173927f3726bc50b107d33eae98e97a9abd57d86ddb2c0bb96ed9a8db9eab4c9ac78c6bbb6f70319d689eff04381a3dc98514ab2be5db16c351cdf71b519
7
- data.tar.gz: 888e0742c7f2d189dee6f104ed850b9b60c22459279567fa2059e6c45f0271b5358126b6b56a3a1f992b88e04d413ba2b6bebbcd39e21497d0977dbf9a816e53
6
+ metadata.gz: f30983e345e236ae0b244fdb3d90bfbb99388d90a2233f59cad72bea37651c6fa70d9f5c25c49761a93ddb32cd39bdb2741b9fe4de7293af32fb3d62356856f1
7
+ data.tar.gz: 6533060a58ce4caf9ed0d94f328bc15840f30cb57e7603fe725b544070bc4dd5149445ce5238ff6702a4d5c2e8205886ddcd5d42d50e0696bcc1aea467cd01e7
@@ -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
 
data/newsfetcher.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'newsfetcher'
3
- s.version = '0.85'
3
+ s.version = '0.86'
4
4
  s.summary = 'Monitor RSS/Atom feeds and deliver new items by email'
5
5
  s.author = 'John Labovitz'
6
6
  s.email = 'johnl@johnlabovitz.com'
@@ -20,10 +20,10 @@ Gem::Specification.new do |s|
20
20
  s.add_dependency 'erb', '~> 6.0'
21
21
  s.add_dependency 'faraday', '~> 2.14'
22
22
  s.add_dependency 'feedjira', '~> 4.0'
23
- s.add_dependency 'loofah', '~> 2.24'
23
+ s.add_dependency 'loofah', '~> 2.25'
24
24
  s.add_dependency 'mail', '~> 2.9'
25
25
  s.add_dependency 'maildir', '~> 2.2'
26
- s.add_dependency 'ostruct', '0.6'
26
+ s.add_dependency 'ostruct', '~> 0.6'
27
27
  s.add_dependency 'path', '~> 2.1'
28
28
  s.add_dependency 'rubypants', '~> 0.7'
29
29
  s.add_dependency 'sassc', '~> 2.4'
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
33
33
  s.add_dependency 'simple-configurator', '~> 0.2'
34
34
  s.add_dependency 'simple-printer', '~> 0.4'
35
35
 
36
- s.add_development_dependency 'minitest', '~> 5.26'
36
+ s.add_development_dependency 'minitest', '~> 6.0'
37
37
  s.add_development_dependency 'minitest-power_assert', '~> 0.3'
38
38
  s.add_development_dependency 'rake', '~> 13.3'
39
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.85'
4
+ version: '0.86'
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Labovitz
@@ -85,14 +85,14 @@ dependencies:
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
@@ -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
@@ -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
@@ -365,7 +365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
365
  - !ruby/object:Gem::Version
366
366
  version: '0'
367
367
  requirements: []
368
- rubygems_version: 3.7.2
368
+ rubygems_version: 4.0.3
369
369
  specification_version: 4
370
370
  summary: Monitor RSS/Atom feeds and deliver new items by email
371
371
  test_files: