earl 1.0.0 → 2.0.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 +7 -0
- data/.github/workflows/ruby-tests.yml +32 -0
- data/.gitignore +20 -4
- data/.rubocop.yml +35 -0
- data/.rubocop_todo.yml +22 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +15 -3
- data/Guardfile +9 -4
- data/LICENSE +3 -1
- data/{README.rdoc → README.md} +44 -46
- data/Rakefile +7 -32
- data/earl.gemspec +19 -20
- data/lib/earl/earl.rb +63 -49
- data/lib/earl/scraper.rb +16 -17
- data/lib/earl/version.rb +3 -1
- data/lib/earl.rb +6 -0
- data/spec/fixtures/cassettes/feed/is_atom_feed.yml +2298 -0
- data/spec/fixtures/cassettes/feed/is_rss_feed.yml +48 -0
- data/spec/fixtures/cassettes/feed/no_feed.yml +69 -0
- data/spec/fixtures/cassettes/feed/with_atom_and_rss_feed.yml +1471 -0
- data/spec/fixtures/cassettes/feed/with_rss_feed.yml +47 -0
- data/spec/fixtures/cassettes/oembed/no_oembed.yml +101 -0
- data/spec/fixtures/cassettes/oembed/youtube_oembed.yml +129 -0
- data/spec/integration/feed_spec.rb +54 -54
- data/spec/integration/oembed_spec.rb +23 -27
- data/spec/spec_helper.rb +4 -2
- data/spec/support/fixtures.rb +8 -3
- data/spec/support/vcr.rb +9 -0
- data/spec/unit/earl/earl_spec.rb +5 -6
- data/spec/unit/earl/feed_spec.rb +29 -26
- data/spec/unit/earl/oembed_spec.rb +24 -23
- data/spec/unit/earl/scraper_spec.rb +19 -18
- data/spec/unit/earl_spec.rb +39 -30
- metadata +48 -97
- data/.document +0 -5
- data/.rspec +0 -1
- data/.travis.yml +0 -11
- data/Gemfile.lock +0 -60
- data/script/console +0 -10
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://rubyweekly.com/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- text/html;charset=utf-8
|
23
|
+
Transfer-Encoding:
|
24
|
+
- chunked
|
25
|
+
Status:
|
26
|
+
- 200 OK
|
27
|
+
Access-Control-Allow-Origin:
|
28
|
+
- "*"
|
29
|
+
X-Xss-Protection:
|
30
|
+
- 1; mode=block
|
31
|
+
X-Content-Type-Options:
|
32
|
+
- nosniff
|
33
|
+
X-Frame-Options:
|
34
|
+
- SAMEORIGIN
|
35
|
+
Date:
|
36
|
+
- Tue, 29 Jul 2025 09:53:25 GMT
|
37
|
+
Set-Cookie:
|
38
|
+
- rack.session=BAh7CUkiD3Nlc3Npb25faWQGOgZFVG86HVJhY2s6OlNlc3Npb246OlNlc3Npb25JZAY6D0BwdWJsaWNfaWRJIkViMmQ2NjE0MjczMWE5ZDIwMGU0MDI2YmUxMTZkY2RmOGNkMWE3MTNmMjI0ZmVhOTRjNTM1NjE4NDQ0MGUzOTEwBjsARkkiCWNzcmYGOwBGSSIxWmorWXk4YWhWQWNlcGpkMnNURFJaUmx2bUx3azhXeVd5SGtNWjVTV0d5dz0GOwBGSSINdHJhY2tpbmcGOwBGewZJIhRIVFRQX1VTRVJfQUdFTlQGOwBUSSItMThlNDBlMTQwMWVlZjY3ZTFhZTY5ZWZhYjA5YWZiNzFmODdmZmI4MQY7AEZJIg9jc3JmLnRva2VuBjsAVEkiMHotRk9ObVlicFIyU010MkNldTlYQzA0THR5VUt2SGY3T2hHX2sxbkhRd3MGOwBG--41e7a031984d4dcb2ad5102999e8b1e5ba2c68cb;
|
39
|
+
path=/; HttpOnly
|
40
|
+
Server:
|
41
|
+
- Microsoft-IIS/10.0
|
42
|
+
body:
|
43
|
+
encoding: ASCII-8BIT
|
44
|
+
string: !binary |-
|
45
|
+
PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogIDx0aXRsZT5SdWJ5IFdlZWtseTwvdGl0bGU+CiAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2Nzcy9hcHAuY3NzIj4KICA8bGluayByZWw9ImFsdGVybmF0ZSIgdHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIgdGl0bGU9IlJ1YnkgV2Vla2x5IiBocmVmPSIvcnNzLyI+CiAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NTAwOzYwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvZmF2aWNvbi5wbmciPgogIDxtZXRhIG5hbWU9ImZhY2Vib29rLWRvbWFpbi12ZXJpZmljYXRpb24iIGNvbnRlbnQ9ImxtbDMyajhlOHEwMHlyZ3BnNGhzOTY4YWgzMW14diIgLz4KICAKPC9oZWFkPgo8Ym9keSBjbGFzcz0icncgZG9tIGRvbS1ydyBpbmRleCBpbmRleDAiPgogIDxoZWFkZXIgY2xhc3M9ImNvbnRhaW5lZCI+CiAgICA8bmF2PgogICAgPGRpdiBjbGFzcz0ic2l0ZW5hbWUiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG9uY2xpY2s9IndpbmRvdy5sb2NhdGlvbi5ocmVmPScvJyI+PGEgaHJlZj0iLyI+UnVieSBXZWVrbHk8L2E+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0iaXRlbXMiPgogICAgICAgIAogICAgICAgICAgICA8YSBocmVmPSIvaXNzdWVzIiBjbGFzcz0iaXNzdWVzIj5BcmNoaXZlczwvYT48c3BhbiBjbGFzcz0iZGl2aWRlciI+fDwvc3Bhbj4KICAgICAgICAgICAgPGEgaHJlZj0iL2xhdGVzdCIgY2xhc3M9ImxhdGVzdCI+TGF0ZXN0PC9hPjxzcGFuIGNsYXNzPSJub21vYmlsZSI+PHNwYW4gY2xhc3M9ImRpdmlkZXIiPnw8L3NwYW4+CiAgICAgICAgICAgIDxhIGhyZWY9Ii9yc3MvIj5SU1M8L2E+PC9zcGFuPgogICAgICAgIAogICAgPC9kaXY+CiAgPC9uYXY+Cgo8L2hlYWRlcj4KCiAgPG1haW4+PGRpdiBjbGFzcz0ic2lkZWdyb3VuZCI+CgoKPGRpdiBjbGFzcz0ibWFydmVsLWRldmljZSBpcGhvbmU4cGx1cyBzaWx2ZXIiPgogICAgPGRpdiBjbGFzcz0idG9wLWJhciI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzbGVlcCI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ2b2x1bWUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2FtZXJhIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbnNvciI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzcGVha2VyIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNjcmVlbiIgc3R5bGU9Im92ZXJmbG93OiBub25lOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOyI+CiAgICAgIDxpZnJhbWUgc3JjPSIvaXNzdWVzL2xhdGVzdD9sYXlvdXQ9YmFyZSI+PC9pZnJhbWU+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImhvbWUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iYm90dG9tLWJhciI+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9Im1haW4iPgogIAogIAogIAogIAogIAogIAogIAoKICAKCiAgPGgxIGNsYXNzPSJ0aXRsZSI+UnVieSBXZWVrbHk8L2gxPgogIDxoMiBjbGFzcz0ic3VidGl0bGUiPkEgZnJlZSwgb25jZeKAk3dlZWtseSBlLW1haWwgcm91bmQtdXAgb2YgUnVieSBuZXdzIGFuZCBhcnRpY2xlcy48L2gyPgoKCiAgPGZvcm0gY2xhc3M9InN1YnNjcmliZSIgYWN0aW9uPSIvc3Vic2NyaWJlIiBtZXRob2Q9IlBPU1QiPgoKICAgIAogICAgCiAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NoYWxsZW5nZXMuY2xvdWRmbGFyZS5jb20vdHVybnN0aWxlL3YwL2FwaS5qcyIgYXN5bmMgZGVmZXI+PC9zY3JpcHQ+CiAgICAgIDxkaXYgY2xhc3M9ImNmLXR1cm5zdGlsZSIgZGF0YS1zaXRla2V5PSIweDRBQUFBQUFBQXoyLXVGQUpUS1JvaFQiPjwvZGl2PiAKICAgIAogICAgCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfY3NyZiIgdmFsdWU9InotRk9ObVlicFIyU010MkNldTlYQzA0THR5VUt2SGY3T2hHX2sxbkhRd3MiIC8+CgogICAgPGRpdiBjbGFzcz0iZmFiIj4KICAgICAgPGRpdiBjbGFzcz0iaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0iZW1haWwiICBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGVtYWlsIGFkZHJlc3MgaGVyZSIgY2xhc3M9ImVtYWlsIiBuYW1lPSJ5ZW1haWwiIGlkPSJlbWFpbCIgdmFsdWU9IiIgcmVxdWlyZWQgLz4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbiI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYXdlc29tZSIgdHlwZT0ic3VibWl0IiA+U3Vic2NyaWJlPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgoKICAgICAgPC9mb3JtPgoKICA8ZGl2IGNsYXNzPSJjb3VudCI+PGRpdiBjbGFzcz0iY29ob3J0LTAiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4zNzYzNCBzdWJzY3JpYmVycyAmbWRhc2g7IDwvZGl2PjxhIGhyZWY9Ii9pc3N1ZXMiPjc2MCBpc3N1ZXM8L2E+ICZtZGFzaDsgPGEgaHJlZj0iL3Jzcy8iPlJTUyBmZWVkPC9hPjwvZGl2PgoKICA8cD5DaGVjayBvdXQgPGEgaHJlZj0iL2lzc3Vlcy83NjAiPm91ciBsYXRlc3QgaXNzdWU8L2E+IGZvciBhIHNhbXBsZS48L3A+CgogIAoKICAKCiAgPGZvb3Rlcj4KICAgIDxwPlB1Ymxpc2hlZCBieSA8YSBocmVmPSJodHRwczovL2Nvb3BlcnByZXNzLmNvbS8iPiBDb29wZXJwcmVzczwvYT48YnIgLz5PdXIgPGEgaHJlZj0iL3ByaXZhY3kiPnByaXZhY3k8L2E+LCA8YSBocmVmPSIvc3BhbSI+YW50aS1zcGFtPC9hPiwgYW5kIDxhIGhyZWY9Imh0dHBzOi8vY29vcGVycHJlc3MuY29tL2dkcHIiPkdEUFIgcG9saWNpZXM8L2E+LiBXZSB0YWtlIHRoZXNlIHRoaW5ncyBzZXJpb3VzbHkuPC9wPgoKICAgIAoKICAgIAoKICAgIAoKICAgIAoKICAgIAogIDwvZm9vdGVyPgo8L2Rpdj4KPC9tYWluPgogIDxzY3JpcHQgc3JjPSIvanMvYXBwLmpzIj48L3NjcmlwdD4KICA8c2NyaXB0PihmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSxtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpO2dhKCdjcmVhdGUnLCdVQS0zMjUzNTAwNC00JywncnVieXdlZWtseS5jb20nKTtnYSgnc2VuZCcsICdwYWdldmlldycpOwo8L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPgo=
|
46
|
+
recorded_at: Tue, 29 Jul 2025 09:53:25 GMT
|
47
|
+
recorded_with: VCR 6.3.1
|