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 +4 -4
- data/.github/workflows/ruby.yml +1 -1
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +13 -0
- data/README.md +1 -2
- data/feedjira.gemspec +1 -2
- data/lib/feedjira/core_ext/date.rb +3 -2
- data/lib/feedjira/rss_entry_utilities.rb +5 -1
- data/lib/feedjira/version.rb +1 -1
- data/spec/feedjira/feed_utilities_date_time_spec.rb +1 -1
- data/spec/feedjira/feed_utilities_entry_spec.rb +1 -1
- data/spec/feedjira/feed_utilities_spec.rb +2 -2
- data/spec/feedjira/parser/json_feed_spec.rb +1 -1
- data/spec/feedjira/parser/rss_entry_spec.rb +7 -1
- data/spec/feedjira/parser/rss_feed_burner_entry_spec.rb +1 -0
- data/spec/feedjira/parser/rss_spec.rb +1 -1
- data/spec/sample_feeds/RSSWithComments.xml +277 -0
- data/spec/sample_feeds.rb +2 -1
- metadata +6 -73
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5169a51338551c1253b148e944e9b63cff818f85ba5eeafd2c3239ea007b5012
|
4
|
+
data.tar.gz: c9966b308d0f57873c56b474cdbdc7a1a96ee6dd64d5a0ca56f30c333ada9298
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad3fc7290af22ec75dbba64b2397ad3e8e6f283f73c3c793eaf9b33d28410dcaa6439618c47d741858a732df7478cbcb21f987314880ef5acd108224cc6fa7a2
|
7
|
+
data.tar.gz: 20422cf9fdf53491356726c29b118ce6e1b3b37c0ef7294f1c01bcaf00df72097ae6afd1a88191ca765217fe7a159996247de4837a14a1716d33ad8024f7f784
|
data/.github/workflows/ruby.yml
CHANGED
data/.rubocop.yml
CHANGED
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]
|
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.
|
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
|
-
|
20
|
-
|
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
|
-
|
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
|
data/lib/feedjira/version.rb
CHANGED
@@ -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.
|
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.
|
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
|
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
|
@@ -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
|
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
|
@@ -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'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'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'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'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.
|
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-
|
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.
|
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.
|
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: []
|