feedjira 3.2.1 → 3.2.2

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: b6930aadfe8b2a06d65aa2a8dfaad0d8fcc4f34356a3c3646cf75ef70a753a8d
4
- data.tar.gz: 00a921f06c7542ca84d552a6f680e56d99f4b0b3aa830113b75c0545f6fdbcf7
3
+ metadata.gz: 5169a51338551c1253b148e944e9b63cff818f85ba5eeafd2c3239ea007b5012
4
+ data.tar.gz: c9966b308d0f57873c56b474cdbdc7a1a96ee6dd64d5a0ca56f30c333ada9298
5
5
  SHA512:
6
- metadata.gz: 5970d946d3673ff856f95bef75e09b4cc0b6dbc3b8b9ba66a3ebade66d93fd894b23e784d8e9c3ab345eb6deae2094878e60be2164aae46623e2159bcf4530c0
7
- data.tar.gz: ae1466452711a547ec9f2ad42ab34b11a8ce03a1886e6ddeb56f3a8723c3d1ab6f1a0b22461c339a0a5c490e64965a37da9329bcd701fd4d10117c8b9e28fbe1
6
+ metadata.gz: ad3fc7290af22ec75dbba64b2397ad3e8e6f283f73c3c793eaf9b33d28410dcaa6439618c47d741858a732df7478cbcb21f987314880ef5acd108224cc6fa7a2
7
+ data.tar.gz: 20422cf9fdf53491356726c29b118ce6e1b3b37c0ef7294f1c01bcaf00df72097ae6afd1a88191ca765217fe7a159996247de4837a14a1716d33ad8024f7f784
@@ -12,7 +12,7 @@ jobs:
12
12
  fail-fast: false
13
13
  matrix:
14
14
  os: [ubuntu]
15
- ruby: [2.5, 2.6, 2.7, 3.0]
15
+ ruby: [2.7, 3.0, 3.1]
16
16
  handler: [nokogiri, ox, oga]
17
17
  exclude:
18
18
  - { ruby: jruby, handler: ox }
data/.rubocop.yml CHANGED
@@ -6,7 +6,7 @@ require:
6
6
  - rubocop-performance
7
7
 
8
8
  AllCops:
9
- TargetRubyVersion: 2.5
9
+ TargetRubyVersion: 2.7
10
10
  NewCops: enable
11
11
 
12
12
  # Offense count: 3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Feedjira Changelog
2
2
 
3
+ ## 3.2.2
4
+
5
+ * Fix time handling again usec is not a timezone
6
+
7
+ * Update rubocop * drop official support for eol Ruby
8
+
9
+
10
+ ## 3.2.1
11
+
12
+ * Fix time handling in ruby 3.1
13
+
14
+ * Atom feeds now have an icon field via https://github.com/feedjira/feedjira/pull/452 (@jswanner)
15
+
3
16
  ## 3.2.0
4
17
 
5
18
  * Atom `feed_url` no longer falls back to `url` via https://github.com/feedjira/feedjira/pull/451 (@frederfred)
data/README.md CHANGED
@@ -1,13 +1,12 @@
1
1
  # Feedjira
2
2
 
3
- [![Build Status][travis-badge]][travis] [![Code Climate][code-climate-badge]][code-climate] [![Gitter][gitter-badge]][gitter]
3
+ [![Build Status][travis-badge]][travis] [![Code Climate][code-climate-badge]][code-climate]
4
4
 
5
5
  [travis-badge]: https://travis-ci.org/feedjira/feedjira.svg?branch=master
6
6
  [travis]: http://travis-ci.org/feedjira/feedjira
7
7
  [code-climate-badge]: https://codeclimate.com/github/feedjira/feedjira/badges/gpa.svg
8
8
  [code-climate]: https://codeclimate.com/github/feedjira/feedjira
9
9
  [gitter-badge]: https://badges.gitter.im/feedjira/feedjira.svg
10
- [gitter]: https://gitter.im/feedjira/feedjira?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
11
10
 
12
11
  Feedjira is a Ruby library designed to parse feeds.
13
12
 
data/feedjira.gemspec CHANGED
@@ -28,9 +28,8 @@ Gem::Specification.new do |s|
28
28
 
29
29
  s.files = `git ls-files`.split("\n")
30
30
  s.require_paths = ["lib"]
31
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
32
31
 
33
- s.required_ruby_version = ">=2.5"
32
+ s.required_ruby_version = ">=2.7"
34
33
 
35
34
  s.add_dependency "loofah", ">= 2.3.1"
36
35
  s.add_dependency "sax-machine", ">= 1.0"
@@ -16,7 +16,8 @@ class Date
16
16
  private
17
17
 
18
18
  def feed_utils_to_time(dest, method)
19
- Time.send(method, dest.year, dest.month, dest.day, dest.hour, dest.min,
20
- dest.sec, dest.offset)
19
+ # Convert a fraction of a day to a number of microseconds
20
+ usec = (dest.sec_fraction * (10**6)).to_i
21
+ Time.send(method, dest.year, dest.month, dest.day, dest.hour, dest.min, dest.sec, usec)
21
22
  end
22
23
  end
@@ -2,7 +2,8 @@
2
2
 
3
3
  module Feedjira
4
4
  module RSSEntryUtilities
5
- def self.included(mod)
5
+ # rubocop:todo Metrics/MethodLength
6
+ def self.included(mod) # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
6
7
  mod.class_exec do
7
8
  element :title
8
9
 
@@ -34,9 +35,12 @@ module Feedjira
34
35
  element :"media:content", as: :image, value: :url
35
36
  element :enclosure, as: :image, value: :url
36
37
 
38
+ element :comments
39
+
37
40
  elements :category, as: :categories
38
41
  end
39
42
  end
43
+ # rubocop:enable Metrics/MethodLength
40
44
 
41
45
  def entry_id
42
46
  @entry_id&.guid
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Feedjira
4
- VERSION = "3.2.1"
4
+ VERSION = "3.2.2"
5
5
  end
@@ -19,7 +19,7 @@ describe Feedjira::FeedUtilities do
19
19
  it "parses a ISO 8601 with milliseconds into Time" do
20
20
  time = @klass.new.parse_datetime("2013-09-17T08:20:13.931-04:00")
21
21
  expect(time.class).to eq Time
22
- expect(time).to eq Time.parse_safely("Tue Sep 17 12:20:13 UTC 2013")
22
+ expect(time).to eq Time.strptime("Tue Sep 17 12:20:13.931 UTC 2013", "%a %b %d %H:%M:%S.%N %Z %Y")
23
23
  end
24
24
 
25
25
  it "parses a US Format into Time" do
@@ -19,7 +19,7 @@ describe Feedjira::FeedUtilities do
19
19
  it "parses a ISO 8601 with milliseconds into Time" do
20
20
  time = @klass.new.parse_datetime("2013-09-17T08:20:13.931-04:00")
21
21
  expect(time.class).to eq Time
22
- expect(time).to eq Time.parse_safely("Tue Sep 17 12:20:13 UTC 2013")
22
+ expect(time).to eq Time.strptime("Tue Sep 17 12:20:13.931 UTC 2013", "%a %b %d %H:%M:%S.%N %Z %Y")
23
23
  end
24
24
  end
25
25
 
@@ -20,7 +20,7 @@ describe Feedjira::FeedUtilities do
20
20
  end
21
21
 
22
22
  context "when the flag is set" do
23
- it "calls the preprocessing method" do
23
+ it "calls the preprocessing method" do # rubocop:todo RSpec/NoExpectationExample
24
24
  @klass.preprocess_xml = true
25
25
  allow(@klass).to receive(:preprocess).and_return sample_rss_feed
26
26
  @klass.parse sample_rss_feed
@@ -78,7 +78,7 @@ describe Feedjira::FeedUtilities do
78
78
  it "returns new_entries? as true when entries are put into new_entries" do
79
79
  feed = @klass.new
80
80
  feed.new_entries << :foo
81
- expect(feed.new_entries?).to eq true
81
+ expect(feed.new_entries?).to be true
82
82
  end
83
83
 
84
84
  it "returns a last_modified value from the entry with the most recent published date if the last_modified date hasn't been set" do
@@ -44,7 +44,7 @@ module Feedjira
44
44
  end
45
45
 
46
46
  it "parses expired and return default (nil)" do
47
- expect(@feed.expired).to be nil
47
+ expect(@feed.expired).to be_nil
48
48
  end
49
49
 
50
50
  it "parses entries" do
@@ -72,6 +72,7 @@ describe Feedjira::Parser::RSSEntry do
72
72
  author
73
73
  categories
74
74
  comment_rss
75
+ comments
75
76
  content
76
77
  entry_id
77
78
  published
@@ -99,7 +100,7 @@ describe Feedjira::Parser::RSSEntry do
99
100
 
100
101
  it "ignores urls from guids with isPermaLink='false'" do
101
102
  feed = Feedjira.parse(sample_rss_feed_permalinks)
102
- expect(feed.entries[0].url).to eq nil
103
+ expect(feed.entries[0].url).to be_nil
103
104
  end
104
105
 
105
106
  it "gets urls from guids with isPermaLink='true'" do
@@ -116,4 +117,9 @@ describe Feedjira::Parser::RSSEntry do
116
117
  feed = Feedjira.parse(sample_rss_feed_permalinks)
117
118
  expect(feed.entries[3].url).to eq "http://example.com/4"
118
119
  end
120
+
121
+ it "exposes comments URL" do
122
+ feed = Feedjira.parse(sample_rss_feed_with_comments)
123
+ expect(feed.entries[0].comments).to eq "https://news.ycombinator.com/item?id=30937433"
124
+ end
119
125
  end
@@ -75,6 +75,7 @@ describe Feedjira::Parser::RSSFeedBurnerEntry do
75
75
  author
76
76
  categories
77
77
  comment_rss
78
+ comments
78
79
  content
79
80
  entry_id
80
81
  image
@@ -14,7 +14,7 @@ describe Feedjira::Parser::RSS do
14
14
 
15
15
  it "returns false for an rss feedburner feed" do
16
16
  able = described_class.able_to_parse? sample_rss_feed_burner_feed
17
- expect(able).to eq false
17
+ expect(able).to be false
18
18
  end
19
19
  end
20
20
 
@@ -0,0 +1,277 @@
1
+ <rss version="2.0">
2
+ <channel>
3
+ <title>Hacker News</title>
4
+ <link>https://news.ycombinator.com/</link>
5
+ <description>Links for the intellectually curious, ranked by readers.</description>
6
+ <item>
7
+ <title>AWS Lambda Function URLs: Built-In HTTPS Endpoints for Lambda</title>
8
+ <link>https://aws.amazon.com/blogs/aws/announcing-aws-lambda-function-urls-built-in-https-endpoints-for-single-function-microservices/</link>
9
+ <pubDate>Wed, 6 Apr 2022 21:07:47 +0000</pubDate>
10
+ <comments>https://news.ycombinator.com/item?id=30937433</comments>
11
+ <description>
12
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30937433">Comments</a>]]>
13
+ </description>
14
+ </item>
15
+ <item>
16
+ <title>Dall-E 2</title>
17
+ <link>https://openai.com/dall-e-2/</link>
18
+ <pubDate>Wed, 6 Apr 2022 14:09:04 +0000</pubDate>
19
+ <comments>https://news.ycombinator.com/item?id=30932095</comments>
20
+ <description>
21
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30932095">Comments</a>]]>
22
+ </description>
23
+ </item>
24
+ <item>
25
+ <title>Twitter Bluesky: A Self-Authenticating Social Protocol</title>
26
+ <link>https://blueskyweb.xyz/blog/3-6-2022-a-self-authenticating-social-protocol</link>
27
+ <pubDate>Wed, 6 Apr 2022 21:23:54 +0000</pubDate>
28
+ <comments>https://news.ycombinator.com/item?id=30937578</comments>
29
+ <description>
30
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30937578">Comments</a>]]>
31
+ </description>
32
+ </item>
33
+ <item>
34
+ <title>The existence of true one-way functions depends on Kolmogorov complexity</title>
35
+ <link>https://www.quantamagazine.org/researchers-identify-master-problem-underlying-all-cryptography-20220406/</link>
36
+ <pubDate>Wed, 6 Apr 2022 17:01:46 +0000</pubDate>
37
+ <comments>https://news.ycombinator.com/item?id=30934721</comments>
38
+ <description>
39
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30934721">Comments</a>]]>
40
+ </description>
41
+ </item>
42
+ <item>
43
+ <title>You can do a lot with an empty file</title>
44
+ <link>https://rachelbythebay.com/w/2022/04/06/text/</link>
45
+ <pubDate>Wed, 6 Apr 2022 19:16:37 +0000</pubDate>
46
+ <comments>https://news.ycombinator.com/item?id=30936333</comments>
47
+ <description>
48
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30936333">Comments</a>]]>
49
+ </description>
50
+ </item>
51
+ <item>
52
+ <title>λ-2D: An exploration of drawing as programming language</title>
53
+ <link>https://www.media.mit.edu/projects/2d-an-exploration-of-drawing-as-programming-language-featuring-ideas-from-lambda-calculus/overview/</link>
54
+ <pubDate>Wed, 6 Apr 2022 14:44:41 +0000</pubDate>
55
+ <comments>https://news.ycombinator.com/item?id=30932552</comments>
56
+ <description>
57
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30932552">Comments</a>]]>
58
+ </description>
59
+ </item>
60
+ <item>
61
+ <title>Your competitor wrote the RFP you&#x27;re bidding on</title>
62
+ <link>https://www.sofuckingagile.com/blog/your-competitor-wrote-the-rfp-you-are-bidding-on</link>
63
+ <pubDate>Wed, 6 Apr 2022 14:48:40 +0000</pubDate>
64
+ <comments>https://news.ycombinator.com/item?id=30932596</comments>
65
+ <description>
66
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30932596">Comments</a>]]>
67
+ </description>
68
+ </item>
69
+ <item>
70
+ <title>Inside London&#x27;s first Ketamine therapy clinic</title>
71
+ <link>https://www.leafie.co.uk/articles/inside-londons-first-ketamine-therapy-clinic/</link>
72
+ <pubDate>Wed, 6 Apr 2022 22:08:36 +0000</pubDate>
73
+ <comments>https://news.ycombinator.com/item?id=30938074</comments>
74
+ <description>
75
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30938074">Comments</a>]]>
76
+ </description>
77
+ </item>
78
+ <item>
79
+ <title>Smarking (YC W15) is hiring staff and engineers to digitize the parking industry</title>
80
+ <link>https://jobs.lever.co/smarking/01b7a4c5-28ce-4a4c-9c88-d4cad6c01c76</link>
81
+ <pubDate>Wed, 6 Apr 2022 21:00:55 +0000</pubDate>
82
+ <comments>https://news.ycombinator.com/item?id=30937371</comments>
83
+ <description>
84
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30937371">Comments</a>]]>
85
+ </description>
86
+ </item>
87
+ <item>
88
+ <title>Ask HN: Share your personal site</title>
89
+ <link>https://news.ycombinator.com/item?id=30934529</link>
90
+ <pubDate>Wed, 6 Apr 2022 16:48:33 +0000</pubDate>
91
+ <comments>https://news.ycombinator.com/item?id=30934529</comments>
92
+ <description>
93
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30934529">Comments</a>]]>
94
+ </description>
95
+ </item>
96
+ <item>
97
+ <title>The State of Fortran</title>
98
+ <link>https://arxiv.org/abs/2203.15110</link>
99
+ <pubDate>Wed, 6 Apr 2022 18:20:19 +0000</pubDate>
100
+ <comments>https://news.ycombinator.com/item?id=30935633</comments>
101
+ <description>
102
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30935633">Comments</a>]]>
103
+ </description>
104
+ </item>
105
+ <item>
106
+ <title>A whole website in a single JavaScript file</title>
107
+ <link>https://deno.com/blog/a-whole-website-in-a-single-js-file</link>
108
+ <pubDate>Wed, 6 Apr 2022 16:07:19 +0000</pubDate>
109
+ <comments>https://news.ycombinator.com/item?id=30933831</comments>
110
+ <description>
111
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30933831">Comments</a>]]>
112
+ </description>
113
+ </item>
114
+ <item>
115
+ <title>Language of fungi derived from their electrical spiking activity</title>
116
+ <link>https://royalsocietypublishing.org/doi/10.1098/rsos.211926</link>
117
+ <pubDate>Wed, 6 Apr 2022 13:58:09 +0000</pubDate>
118
+ <comments>https://news.ycombinator.com/item?id=30931998</comments>
119
+ <description>
120
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30931998">Comments</a>]]>
121
+ </description>
122
+ </item>
123
+ <item>
124
+ <title>In defense of simple architectures</title>
125
+ <link>https://danluu.com/simple-architectures/</link>
126
+ <pubDate>Wed, 6 Apr 2022 19:04:29 +0000</pubDate>
127
+ <comments>https://news.ycombinator.com/item?id=30936189</comments>
128
+ <description>
129
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30936189">Comments</a>]]>
130
+ </description>
131
+ </item>
132
+ <item>
133
+ <title>Show HN: MetricFlow – open-source metric framework</title>
134
+ <link>https://github.com/transform-data/metricflow</link>
135
+ <pubDate>Wed, 6 Apr 2022 22:12:03 +0000</pubDate>
136
+ <comments>https://news.ycombinator.com/item?id=30938109</comments>
137
+ <description>
138
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30938109">Comments</a>]]>
139
+ </description>
140
+ </item>
141
+ <item>
142
+ <title>The remarkable brain of a carpet cleaner who speaks 24 languages</title>
143
+ <link>https://www.washingtonpost.com/dc-md-va/interactive/2022/multilingual-hyperpolyglot-brain-languages/</link>
144
+ <pubDate>Tue, 5 Apr 2022 15:31:04 +0000</pubDate>
145
+ <comments>https://news.ycombinator.com/item?id=30920287</comments>
146
+ <description>
147
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30920287">Comments</a>]]>
148
+ </description>
149
+ </item>
150
+ <item>
151
+ <title>It Knows (2011)</title>
152
+ <link>https://www.lrb.co.uk/the-paper/v33/n19/daniel-soar/it-knows</link>
153
+ <pubDate>Wed, 6 Apr 2022 08:26:49 +0000</pubDate>
154
+ <comments>https://news.ycombinator.com/item?id=30929778</comments>
155
+ <description>
156
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30929778">Comments</a>]]>
157
+ </description>
158
+ </item>
159
+ <item>
160
+ <title>GhostSCAD: Marrying OpenSCAD and Golang</title>
161
+ <link>https://jany.st/post/2022-04-04-ghostscad-marrying-openscad-and-golang.html</link>
162
+ <pubDate>Wed, 6 Apr 2022 10:59:47 +0000</pubDate>
163
+ <comments>https://news.ycombinator.com/item?id=30930665</comments>
164
+ <description>
165
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30930665">Comments</a>]]>
166
+ </description>
167
+ </item>
168
+ <item>
169
+ <title>Wolfenstein 3D&#x27;s winding journey from pitch to release</title>
170
+ <link>https://www.gamedeveloper.com/gdc2022/wolfenstein-3d-postmortem</link>
171
+ <pubDate>Sun, 3 Apr 2022 02:07:52 +0000</pubDate>
172
+ <comments>https://news.ycombinator.com/item?id=30893655</comments>
173
+ <description>
174
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30893655">Comments</a>]]>
175
+ </description>
176
+ </item>
177
+ <item>
178
+ <title>MIPS provides highly scalable RISC processor IP</title>
179
+ <link>https://www.mips.com/</link>
180
+ <pubDate>Wed, 6 Apr 2022 18:24:26 +0000</pubDate>
181
+ <comments>https://news.ycombinator.com/item?id=30935683</comments>
182
+ <description>
183
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30935683">Comments</a>]]>
184
+ </description>
185
+ </item>
186
+ <item>
187
+ <title>Intel&#x27;s “Cripple AMD” Function (2019)</title>
188
+ <link>https://www.agner.org/forum/viewtopic.php?t=6</link>
189
+ <pubDate>Wed, 6 Apr 2022 17:27:26 +0000</pubDate>
190
+ <comments>https://news.ycombinator.com/item?id=30935064</comments>
191
+ <description>
192
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30935064">Comments</a>]]>
193
+ </description>
194
+ </item>
195
+ <item>
196
+ <title>GoodGuesser</title>
197
+ <link>https://twitter.com/lisperati/status/1509859692855631881</link>
198
+ <pubDate>Tue, 5 Apr 2022 22:30:05 +0000</pubDate>
199
+ <comments>https://news.ycombinator.com/item?id=30925917</comments>
200
+ <description>
201
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30925917">Comments</a>]]>
202
+ </description>
203
+ </item>
204
+ <item>
205
+ <title>Tailscale’s human-scale networks are still controlled by Google and Microsoft</title>
206
+ <link>https://iliana.fyi/blog/tailscale-auth-and-threat-modeling/</link>
207
+ <pubDate>Mon, 4 Apr 2022 19:41:11 +0000</pubDate>
208
+ <comments>https://news.ycombinator.com/item?id=30911109</comments>
209
+ <description>
210
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30911109">Comments</a>]]>
211
+ </description>
212
+ </item>
213
+ <item>
214
+ <title>Dim, a self-hosted media manager</title>
215
+ <link>https://github.com/Dusk-Labs/dim</link>
216
+ <pubDate>Tue, 5 Apr 2022 18:24:59 +0000</pubDate>
217
+ <comments>https://news.ycombinator.com/item?id=30922871</comments>
218
+ <description>
219
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30922871">Comments</a>]]>
220
+ </description>
221
+ </item>
222
+ <item>
223
+ <title>Home sweet homepage, a comic about growing up online</title>
224
+ <link>https://sailorhg.com/home_sweet_homepage/</link>
225
+ <pubDate>Wed, 6 Apr 2022 19:28:44 +0000</pubDate>
226
+ <comments>https://news.ycombinator.com/item?id=30936462</comments>
227
+ <description>
228
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30936462">Comments</a>]]>
229
+ </description>
230
+ </item>
231
+ <item>
232
+ <title>Show HN: Tilepieces – An open source project for visually editing HTML documents</title>
233
+ <link>https://tilepieces.net</link>
234
+ <pubDate>Wed, 6 Apr 2022 13:14:06 +0000</pubDate>
235
+ <comments>https://news.ycombinator.com/item?id=30931586</comments>
236
+ <description>
237
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30931586">Comments</a>]]>
238
+ </description>
239
+ </item>
240
+ <item>
241
+ <title>TruffleHog v3 – Detect and automatically verify over 600 credential types</title>
242
+ <link>https://github.com/trufflesecurity/trufflehog</link>
243
+ <pubDate>Mon, 4 Apr 2022 19:21:30 +0000</pubDate>
244
+ <comments>https://news.ycombinator.com/item?id=30910893</comments>
245
+ <description>
246
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30910893">Comments</a>]]>
247
+ </description>
248
+ </item>
249
+ <item>
250
+ <title>Casting Silver Bullets (2013)</title>
251
+ <link>https://www.patriciabriggs.com/articles/silver/silverbullets.shtml</link>
252
+ <pubDate>Tue, 5 Apr 2022 20:33:23 +0000</pubDate>
253
+ <comments>https://news.ycombinator.com/item?id=30924635</comments>
254
+ <description>
255
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30924635">Comments</a>]]>
256
+ </description>
257
+ </item>
258
+ <item>
259
+ <title>GenieFramework – Build web applications with Julia</title>
260
+ <link>https://genieframework.com/</link>
261
+ <pubDate>Wed, 6 Apr 2022 08:45:26 +0000</pubDate>
262
+ <comments>https://news.ycombinator.com/item?id=30929873</comments>
263
+ <description>
264
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30929873">Comments</a>]]>
265
+ </description>
266
+ </item>
267
+ <item>
268
+ <title>What’s new in Emacs 28.1?</title>
269
+ <link>https://www.masteringemacs.org/article/whats-new-in-emacs-28-1</link>
270
+ <pubDate>Wed, 6 Apr 2022 11:23:33 +0000</pubDate>
271
+ <comments>https://news.ycombinator.com/item?id=30930816</comments>
272
+ <description>
273
+ <![CDATA[<a href="https://news.ycombinator.com/item?id=30930816">Comments</a>]]>
274
+ </description>
275
+ </item>
276
+ </channel>
277
+ </rss>
data/spec/sample_feeds.rb CHANGED
@@ -34,7 +34,8 @@ module SampleFeeds
34
34
  sample_rss_feed_huffpost_ca: "HuffPostCanada.xml",
35
35
  sample_invalid_date_format_feed: "InvalidDateFormat.xml",
36
36
  sample_rss_feed_permalinks: "Permalinks.xml",
37
- sample_rss_feed_with_a10_namespace: "a10.xml"
37
+ sample_rss_feed_with_a10_namespace: "a10.xml",
38
+ sample_rss_feed_with_comments: "RSSWithComments.xml"
38
39
  }.freeze
39
40
 
40
41
  FEEDS.each do |method, filename|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feedjira
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1
4
+ version: 3.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Hess
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2022-01-02 00:00:00.000000000 Z
17
+ date: 2022-10-19 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: loofah
@@ -267,6 +267,7 @@ files:
267
267
  - spec/sample_feeds/PaulDixExplainsNothingFirstEntryContent.xml
268
268
  - spec/sample_feeds/PaulDixExplainsNothingWFW.xml
269
269
  - spec/sample_feeds/Permalinks.xml
270
+ - spec/sample_feeds/RSSWithComments.xml
270
271
  - spec/sample_feeds/SamRuby.xml
271
272
  - spec/sample_feeds/TechCrunch.xml
272
273
  - spec/sample_feeds/TechCrunchFirstEntry.xml
@@ -301,83 +302,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
301
302
  requirements:
302
303
  - - ">="
303
304
  - !ruby/object:Gem::Version
304
- version: '2.5'
305
+ version: '2.7'
305
306
  required_rubygems_version: !ruby/object:Gem::Requirement
306
307
  requirements:
307
308
  - - ">="
308
309
  - !ruby/object:Gem::Version
309
310
  version: '0'
310
311
  requirements: []
311
- rubygems_version: 3.3.3
312
+ rubygems_version: 3.4.0.dev
312
313
  signing_key:
313
314
  specification_version: 4
314
315
  summary: A feed parsing library
315
- test_files:
316
- - spec/feedjira/configuration_spec.rb
317
- - spec/feedjira/feed_spec.rb
318
- - spec/feedjira/feed_utilities_date_time_spec.rb
319
- - spec/feedjira/feed_utilities_entry_spec.rb
320
- - spec/feedjira/feed_utilities_spec.rb
321
- - spec/feedjira/parser/atom_entry_spec.rb
322
- - spec/feedjira/parser/atom_feed_burner_entry_spec.rb
323
- - spec/feedjira/parser/atom_feed_burner_spec.rb
324
- - spec/feedjira/parser/atom_google_alerts_entry_spec.rb
325
- - spec/feedjira/parser/atom_google_alerts_spec.rb
326
- - spec/feedjira/parser/atom_spec.rb
327
- - spec/feedjira/parser/atom_youtube_entry_spec.rb
328
- - spec/feedjira/parser/atom_youtube_spec.rb
329
- - spec/feedjira/parser/google_docs_atom_entry_spec.rb
330
- - spec/feedjira/parser/google_docs_atom_spec.rb
331
- - spec/feedjira/parser/i_tunes_rss_item_spec.rb
332
- - spec/feedjira/parser/i_tunes_rss_owner_spec.rb
333
- - spec/feedjira/parser/itunes_rss_spec.rb
334
- - spec/feedjira/parser/json_feed_item_spec.rb
335
- - spec/feedjira/parser/json_feed_spec.rb
336
- - spec/feedjira/parser/podlove_chapter_spec.rb
337
- - spec/feedjira/parser/rss_entry_spec.rb
338
- - spec/feedjira/parser/rss_feed_burner_entry_spec.rb
339
- - spec/feedjira/parser/rss_feed_burner_spec.rb
340
- - spec/feedjira/parser/rss_spec.rb
341
- - spec/feedjira/preprocessor_spec.rb
342
- - spec/feedjira_spec.rb
343
- - spec/sample_feeds.rb
344
- - spec/sample_feeds/AmazonWebServicesBlog.xml
345
- - spec/sample_feeds/AmazonWebServicesBlogFirstEntryContent.xml
346
- - spec/sample_feeds/AtomEscapedHTMLInPreTag.xml
347
- - spec/sample_feeds/AtomFeedWithSpacesAroundEquals.xml
348
- - spec/sample_feeds/CRE.xml
349
- - spec/sample_feeds/DuplicateContentAtomFeed.xml
350
- - spec/sample_feeds/FeedBurnerUrlNoAlternate.xml
351
- - spec/sample_feeds/FeedBurnerXHTML.xml
352
- - spec/sample_feeds/FeedjiraBlog.xml
353
- - spec/sample_feeds/GiantRobotsSmashingIntoOtherGiantRobots.xml
354
- - spec/sample_feeds/GoogleDocsList.xml
355
- - spec/sample_feeds/HREFConsideredHarmful.xml
356
- - spec/sample_feeds/HREFConsideredHarmfulFirstEntry.xml
357
- - spec/sample_feeds/HuffPostCanada.xml
358
- - spec/sample_feeds/ITunesWithSingleQuotedAttributes.xml
359
- - spec/sample_feeds/ITunesWithSpacesInAttributes.xml
360
- - spec/sample_feeds/InvalidDateFormat.xml
361
- - spec/sample_feeds/PaulDixExplainsNothing.xml
362
- - spec/sample_feeds/PaulDixExplainsNothingAlternate.xml
363
- - spec/sample_feeds/PaulDixExplainsNothingFirstEntryContent.xml
364
- - spec/sample_feeds/PaulDixExplainsNothingWFW.xml
365
- - spec/sample_feeds/Permalinks.xml
366
- - spec/sample_feeds/SamRuby.xml
367
- - spec/sample_feeds/TechCrunch.xml
368
- - spec/sample_feeds/TechCrunchFirstEntry.xml
369
- - spec/sample_feeds/TechCrunchFirstEntryDescription.xml
370
- - spec/sample_feeds/TenderLovemaking.xml
371
- - spec/sample_feeds/TenderLovemakingFirstEntry.xml
372
- - spec/sample_feeds/TrotterCashionHome.xml
373
- - spec/sample_feeds/TypePadNews.xml
374
- - spec/sample_feeds/a10.xml
375
- - spec/sample_feeds/atom_simple_single_entry.xml
376
- - spec/sample_feeds/atom_simple_single_entry_link_self.xml
377
- - spec/sample_feeds/atom_with_link_tag_for_url_unmarked.xml
378
- - spec/sample_feeds/google_alerts_atom.xml
379
- - spec/sample_feeds/itunes.xml
380
- - spec/sample_feeds/json_feed.json
381
- - spec/sample_feeds/pet_atom.xml
382
- - spec/sample_feeds/youtube_atom.xml
383
- - spec/spec_helper.rb
316
+ test_files: []