directlink 0.0.4.13 → 0.0.5.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 +4 -4
- data/.travis.yml +3 -3
- data/directlink.gemspec +1 -1
- data/lib/directlink.rb +15 -14
- data/test.rb +29 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e712b540373ddcb6f3c581a5bf050b97e3cd6df4
|
4
|
+
data.tar.gz: b41a9f3507c1349cb65da813b9b066765a4fcc49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e03fbb4b2763fb132d712f65f442e92c78c41b5626b37e76cf3dfc17713a220764cdbda65dbac13fa92095171c8149d603863654aa1e29831ea56417b9728a3f
|
7
|
+
data.tar.gz: 0af11c87c73bf0edd5ec0b56daff76a10f8446586ccb923fdf18e970b1ea153438868a1a070f5a25e203a441a24a5641e91cd4c52c50247662eb469764cd01ce
|
data/.travis.yml
CHANGED
@@ -30,8 +30,8 @@ matrix:
|
|
30
30
|
# the 'The command "bundle install --jobs=3 --retry=3" failed and exited with 1 during .'
|
31
31
|
# I guess Travis is deprecating old Rubies and so will I
|
32
32
|
- rvm: 2.0
|
33
|
-
os:
|
33
|
+
os: osx
|
34
34
|
- rvm: 2.1
|
35
|
-
os:
|
35
|
+
os: osx
|
36
36
|
- rvm: 2.2
|
37
|
-
os:
|
37
|
+
os: osx
|
data/directlink.gemspec
CHANGED
data/lib/directlink.rb
CHANGED
@@ -40,7 +40,7 @@ module DirectLink
|
|
40
40
|
# this can handle links without schema because it's used for parsing community HTML pages
|
41
41
|
case src
|
42
42
|
# Google Plus post image
|
43
|
-
when /\A(https:\/\/lh3\.googleusercontent\.com\/-[a-zA-Z0-9_-]{11}\/[WX][a-zA-Z0-9_-]{9}I\/AAAAAAA[a-zA-Z0-9_-]{4}\/[a-zA-Z0-9_-]{33}(?:[gwAQ]?CJoC|CL0B(?:GAs)?)\/)w[1-
|
43
|
+
when /\A(https:\/\/lh3\.googleusercontent\.com\/-[a-zA-Z0-9_-]{11}\/[WX][a-zA-Z0-9_-]{9}I\/AAAAAAA[a-zA-Z0-9_-]{4}\/[a-zA-Z0-9_-]{33}(?:[gwAQ]?CJoC|CL0B(?:GAs)?)\/)w[1-7]\d\d(?:-d)?-h[1-9]\d\d\d?-n(?:-k-no|-rw|)\/[^\/]+\z/
|
44
44
|
"#{$1}s#{width}/"
|
45
45
|
when /\A(\/\/lh3\.googleusercontent\.com\/proxy\/[a-zA-Z0-9_-]{66,523}=)(?:w(?:[45]\d\d)-h\d\d\d-[np]|s530-p|s110-p-k)\z/
|
46
46
|
"https:#{$1}s#{width}/"
|
@@ -64,6 +64,9 @@ module DirectLink
|
|
64
64
|
/\A(https:\/\/lh[356]\.googleusercontent\.com\/-[a-zA-Z0-9]{11}\/AAAAAAAAAAI\/AAAAAAAAAAA\/[a-zA-Z0-9]{11}\/)s64-c-k\/photo\.jpg\z/,
|
65
65
|
/\A(https:\/\/lh[356]\.googleusercontent\.com\/-[a-zA-Z0-9]{11}\/AAAAAAAAAAI\/AAAAAAAAAAA\/[a-zA-Z0-9_]{34}\/)s(?:46|64)-c(?:-k(?:-no)?)?-mo\/photo\.jpg\z/
|
66
66
|
"#{$1}s#{width}/"
|
67
|
+
# Google Keep
|
68
|
+
when /\A(https:\/\/lh\d\.googleusercontent\.com\/[a-zA-Z0-9_-]{104,106}=s)\d\d\d\d?\Z/
|
69
|
+
"#{$1}#{width}"
|
67
70
|
# mp4
|
68
71
|
when /\A(https:\/\/lh3\.googleusercontent\.com\/-[a-zA-Z]{11}\/W[a-zA-Z0-9]{9}I\/AAAAAAAAODw\/[a-zA-Z0-9]{32}QCJoC\/)w530-h883-n-k-no\/[^\/]+\.mp4\z/
|
69
72
|
"#{$1}s#{width}/"
|
@@ -113,7 +116,7 @@ module DirectLink
|
|
113
116
|
# one day single-video item should hit this but somehow it didn't yet
|
114
117
|
raise ErrorAssert.new "unknown data format #{data.inspect} for #{link}"
|
115
118
|
end
|
116
|
-
when /\Ahttps?:\/\/(?:(?:i|m|www)\.)?imgur\.com\/([a-zA-Z0-9]{7,8})(?:\.(?:gifv|jpg
|
119
|
+
when /\Ahttps?:\/\/(?:(?:i|m|www)\.)?imgur\.com\/([a-zA-Z0-9]{7,8})(?:\.(?:gifv|jpg(?:\?fb)?|png))?\z/,
|
117
120
|
/\Ahttps?:\/\/(?:(?:i|m|www)\.)?imgur\.com\/([a-zA-Z0-9]{5})\.mp4\z/,
|
118
121
|
/\Ahttps?:\/\/imgur\.com\/([a-zA-Z0-9]{5}(?:[a-zA-Z0-9]{2})?)\z/,
|
119
122
|
/\Ahttps?:\/\/imgur\.com\/([a-zA-Z0-9]{7})(?:\?\S+)?\z/,
|
@@ -229,10 +232,10 @@ module DirectLink
|
|
229
232
|
if data["media"]["reddit_video"]
|
230
233
|
return [true, data["media"]["reddit_video"]["fallback_url"]]
|
231
234
|
else
|
232
|
-
raise ErrorAssert.new "our knowledge about Reddit API seems to be outdated" unless data["media"].keys.sort == %w{ oembed type } && %w{ youtube.com gfycat.com }.include?(data["media"]["type"])
|
235
|
+
raise ErrorAssert.new "our knowledge about Reddit API seems to be outdated" unless data["media"].keys.sort == %w{ oembed type } && %w{ youtube.com gfycat.com imgur.com }.include?(data["media"]["type"])
|
233
236
|
return [true, data["media"]["oembed"]["thumbnail_url"]]
|
234
237
|
end if data["media"]
|
235
|
-
return
|
238
|
+
return [true, data["url"]] if data["crosspost_parent"]
|
236
239
|
return [true, data["url"]] unless data["is_self"]
|
237
240
|
raise ErrorAssert.new "our knowledge about Reddit API seems to be outdated" if data["url"] != "https://www.reddit.com" + data["permalink"]
|
238
241
|
return [false, data["selftext"]]
|
@@ -258,6 +261,9 @@ def DirectLink link, max_redirect_resolving_retry_delay = nil, giveup = false
|
|
258
261
|
|
259
262
|
google_without_schema_crutch = lambda do
|
260
263
|
if %w{ lh3 googleusercontent com } == URI(link).host.split(?.).last(3) ||
|
264
|
+
%w{ lh4 googleusercontent com } == URI(link).host.split(?.).last(3) ||
|
265
|
+
%w{ lh5 googleusercontent com } == URI(link).host.split(?.).last(3) ||
|
266
|
+
%w{ lh6 googleusercontent com } == URI(link).host.split(?.).last(3) ||
|
261
267
|
%w{ bp blogspot com } == URI(link).host.split(?.).last(3)
|
262
268
|
u = DirectLink.google link
|
263
269
|
f = FastImage.new(u, raise_on_failure: true, http_header: {"User-Agent" => "Mozilla"})
|
@@ -279,14 +285,7 @@ def DirectLink link, max_redirect_resolving_retry_delay = nil, giveup = false
|
|
279
285
|
}, **(max_redirect_resolving_retry_delay ? {timeout: max_redirect_resolving_retry_delay, max_start_http_retry_delay: max_redirect_resolving_retry_delay, max_read_retry_delay: max_redirect_resolving_retry_delay} : {})
|
280
286
|
rescue Net::ReadTimeout
|
281
287
|
else
|
282
|
-
link =
|
283
|
-
when "200" ; link
|
284
|
-
when "302"
|
285
|
-
URI( head.instance_variable_get(:@last_response).to_hash.fetch("location").tap do |a|
|
286
|
-
raise DirectLink::ErrorAssert.new "unexpected size of locations after redirect" unless a.size == 1
|
287
|
-
end.first )
|
288
|
-
else ; raise NetHTTPUtils::Error.new "", (head.instance_variable_get(:@last_response).code || fail).to_i
|
289
|
-
end
|
288
|
+
link = head.instance_variable_get(:@last_response).uri.to_s
|
290
289
|
end
|
291
290
|
|
292
291
|
# why do we resolve redirects before trying the known adapters?
|
@@ -314,10 +313,11 @@ def DirectLink link, max_redirect_resolving_retry_delay = nil, giveup = false
|
|
314
313
|
f = FastImage.new(u, raise_on_failure: true) # , http_header: {"User-Agent" => "Mozilla"}
|
315
314
|
return struct.new u, w, h, f.type
|
316
315
|
rescue DirectLink::ErrorMissingEnvVar
|
317
|
-
end if %w{ www flickr com } == URI(link).host.split(?.)
|
316
|
+
end if %w{ www flickr com } == URI(link).host.split(?.) ||
|
317
|
+
%w{ flic kr } == URI(link).host.split(?.)
|
318
318
|
|
319
319
|
if %w{ wikipedia org } == URI(link).host.split(?.).last(2) ||
|
320
|
-
%w{ commons wikimedia org } == URI(link).host.split(?.)
|
320
|
+
%w{ commons wikimedia org } == URI(link).host.split(?.)
|
321
321
|
u = DirectLink.wiki link
|
322
322
|
f = FastImage.new(u, raise_on_failure: true) # , http_header: {"User-Agent" => "Mozilla"}
|
323
323
|
w, h = f.size
|
@@ -338,6 +338,7 @@ def DirectLink link, max_redirect_resolving_retry_delay = nil, giveup = false
|
|
338
338
|
end
|
339
339
|
return struct.new *u.values_at(*%w{ fallback_url width height }), "video" if u.is_a? Hash
|
340
340
|
return DirectLink u
|
341
|
+
fail if link == u
|
341
342
|
rescue DirectLink::ErrorMissingEnvVar
|
342
343
|
end if %w{ reddit com } == URI(link).host.split(?.).last(2) ||
|
343
344
|
%w{ redd it } == URI(link).host.split(?.)
|
data/test.rb
CHANGED
@@ -20,6 +20,7 @@ describe DirectLink do
|
|
20
20
|
describe "google" do
|
21
21
|
|
22
22
|
describe "does not fail" do
|
23
|
+
# TODO: also check the #google is being called
|
23
24
|
|
24
25
|
"
|
25
26
|
1 //1.bp.blogspot.com/-rYk_u-qROQc/WngolJ8M0LI/AAAAAAAAD-w/woivnaIVzasBPG5C2T1t-VrWKRd_U6lMgCLcBGAs/w530-h278-p/i-469.jpg
|
@@ -152,6 +153,7 @@ describe DirectLink do
|
|
152
153
|
https://lh3.googleusercontent.com/-rm-m1meCOMY/W92GhExMG-I/AAAAAAADsTw/bIAm5-1CIOYEpyPJLnxT8VmI_YNW2W5dACJoC/s0/2659806_800n.jpg
|
153
154
|
https://lh3.googleusercontent.com/-z1nwsq4NOT4/XETT5qhXP-I/AAAAAAAAC0s/03kJ22drB1EdqZ97gUXCPHkLZbbqrDbOACJoC/w530-h942-n/gplus1629127930.jpg
|
154
155
|
https://lh3.googleusercontent.com/-NiGph3ObOPg/XE3DgnavXlI/AAAAAAABvgE/pcPPCe88rsU1r941wwP76TVf_o89i74kwCJoC/w530-h353-n/DSCF0753.JPG
|
156
|
+
https://lh3.googleusercontent.com/-QfChCi9Lj6A/XEciVlXmDhI/AAAAAAACuZw/iYzoMIxr7SsGzEFbk1LrqIdCdWVu8zCHACJoC/w795-h1193-n-rw/z7765765765757575.jpg
|
155
157
|
}.each_with_index do |link, i|
|
156
158
|
it "gpluscomm_105636351696833883213_86400 ##{i + 1}" do
|
157
159
|
assert DirectLink.google link
|
@@ -205,13 +207,25 @@ describe DirectLink do
|
|
205
207
|
assert DirectLink.google link
|
206
208
|
end
|
207
209
|
end
|
210
|
+
%w{
|
211
|
+
https://lh4.googleusercontent.com/KwxMEMlyjNKXqSqszuiCgPMi7_oE5fVv1Sw373HXBYlguP8AnIPAqefTS6DbBuurVGYRSxGrtDyKei1hae9Djf6rjiwjJd0aauA5Bg-z=s615
|
212
|
+
https://lh5.googleusercontent.com/fRmAL_04p7oomNHCiV4tH4-agHSDBtLaWi_Tb6bgE5ZSHVu5OjQF3iRn06nNwP3ywZwdFP92zWM-o8yw0cn6m0tDTBARuO6F9e0wYu_1=s685
|
213
|
+
https://lh5.googleusercontent.com/FcYUQBKLXWtFLEvbQduvu7FHUm2f7U_MVdMBVnNbpwfzKHIU-xABkudxw-m21SlM0jFYRHedh7Is5Dg6qlgIQF1iSndlWjiKCTTsUo1w=s1080
|
214
|
+
https://lh5.googleusercontent.com/gcDb3dxbch9jUKPzKGawJiwtHcNS9wp6o2sc0aJj9wOWQA-u8kXmKIrZ-TkLxajee6qLaT2p6OK2N7klTJ9CxU66OnpBhYJMg0q9QEdq5Q=s2160
|
215
|
+
}.each_with_index do |link, i|
|
216
|
+
it "google keep ##{i + 1}" do
|
217
|
+
assert DirectLink.google link
|
218
|
+
end
|
219
|
+
end
|
208
220
|
|
209
221
|
end
|
222
|
+
|
210
223
|
# TODO: expand this for every branch in lib
|
211
224
|
%w{
|
212
225
|
https_long_blogspot https://2.bp.blogspot.com/-rb2PXLGZy0s/W2nQe3mXOSI/AAAAAAAARhQ/P8gV-bMtYbY2xxpTJNcYVxu3XDTUaugxQCLcBGAs/s640/beach-bora-bora-clouds-753626.jpg https://2.bp.blogspot.com/-rb2PXLGZy0s/W2nQe3mXOSI/AAAAAAAARhQ/P8gV-bMtYbY2xxpTJNcYVxu3XDTUaugxQCLcBGAs/s0/
|
213
226
|
http_short_blogspot http://4.bp.blogspot.com/-poH-QXn7YGg/U-3ZTDkeF_I/AAAAAAAAISE/ms2gNIb-v-g/w72-h72-p-k-no-nu/Top-24-Inspired-181.jpg https://4.bp.blogspot.com/-poH-QXn7YGg/U-3ZTDkeF_I/AAAAAAAAISE/ms2gNIb-v-g/s0/
|
214
227
|
just_gplus https://lh3.googleusercontent.com/-NiGph3ObOPg/XE3DgnavXlI/AAAAAAABvgE/pcPPCe88rsU1r941wwP76TVf_o89i74kwCJoC/w530-h353-n/DSCF0753.JPG https://lh3.googleusercontent.com/-NiGph3ObOPg/XE3DgnavXlI/AAAAAAABvgE/pcPPCe88rsU1r941wwP76TVf_o89i74kwCJoC/s0/
|
228
|
+
google_keep https://lh5.googleusercontent.com/fRmAL_04p7oomNHCiV4tH4-agHSDBtLaWi_Tb6bgE5ZSHVu5OjQF3iRn06nNwP3ywZwdFP92zWM-o8yw0cn6m0tDTBARuO6F9e0wYu_1=s685 https://lh5.googleusercontent.com/fRmAL_04p7oomNHCiV4tH4-agHSDBtLaWi_Tb6bgE5ZSHVu5OjQF3iRn06nNwP3ywZwdFP92zWM-o8yw0cn6m0tDTBARuO6F9e0wYu_1=s0
|
215
229
|
}.each_slice 3 do |name, link, o|
|
216
230
|
it "replaces s0 and schema correctly #{name}" do
|
217
231
|
assert_equal o, DirectLink.google(link)
|
@@ -298,7 +312,7 @@ describe DirectLink do
|
|
298
312
|
["http://imgur.com/gallery/qP2RQtL", "https://i.imgur.com/qP2RQtL.png"], # single image gallery?
|
299
313
|
["http://imgur.com/gallery/nKAwE/new", 28, "https://i.imgur.com/VQhR8hB.jpg", "https://i.imgur.com/axlzNRL.jpg"],
|
300
314
|
["http://m.imgur.com/rarOohr", "https://i.imgur.com/rarOohr.jpg"],
|
301
|
-
["http://imgur.com/r/wallpaper/j39dKMi", "https://i.imgur.com/j39dKMi.jpg"],
|
315
|
+
["http://imgur.com/r/wallpaper/j39dKMi", "https://i.imgur.com/j39dKMi.jpg?1"],
|
302
316
|
["http://imgur.com/gallery/jm0OKQM", DirectLink::ErrorNotFound], # this id does not belong to gallery but to an image, that is probably irrelevant
|
303
317
|
["http://imgur.com/gallery/oZXfZ", DirectLink::ErrorNotFound], # this id does not belong to gallery but to an album, that is probably irrelevant
|
304
318
|
["http://imgur.com/gallery/dCQprEq/new", "https://i.imgur.com/dCQprEq.jpg", 5760, 3840, "image/jpeg"],
|
@@ -313,6 +327,7 @@ describe DirectLink do
|
|
313
327
|
["http://imgur.com/a/AdJUK", 3, "https://i.imgur.com/Yunpxnx.jpg", "https://i.imgur.com/2epn2nT.jpg", "https://i.imgur.com/3afw2aF.jpg"],
|
314
328
|
["https://imgur.com/9yaMdJq", "https://i.imgur.com/9yaMdJq.mp4", 720, 404, "video/mp4"],
|
315
329
|
["http://imgur.com/gallery/dCQprEq/new", "https://i.imgur.com/dCQprEq.jpg", 5760, 3840, "image/jpeg"],
|
330
|
+
["https://i.imgur.com/fFUTSJu.jpg?fb", "https://i.imgur.com/fFUTSJu.jpg", 1469, 2200, "image/jpeg"], # from reddit.com/93mtba
|
316
331
|
].each_with_index do |t, i|
|
317
332
|
url, n, first, last, type = t
|
318
333
|
it "##{i + 1}" do
|
@@ -377,6 +392,7 @@ describe DirectLink do
|
|
377
392
|
["https://www.reddit.com/r/travel/988889", [true, "https://i.redd.it/3h5xls6ehrg11.jpg"]],
|
378
393
|
["http://redd.it/988889", [true, "https://i.redd.it/3h5xls6ehrg11.jpg"]],
|
379
394
|
["https://www.reddit.com/r/CatsStandingUp/duplicates/abn0ua/cat/", [true, "https://v.redd.it/s9b86afb6w721/DASH_2_4_M?source=fallback"]],
|
395
|
+
["https://www.reddit.com/r/hangers/comments/97you5/tara_radovic/", [true, "https://i.imgur.com/rbLqgOu.jpg"]], # "crossport" from Imgur
|
380
396
|
] ],
|
381
397
|
].each do |method, tests|
|
382
398
|
describe method do
|
@@ -402,6 +418,7 @@ describe DirectLink do
|
|
402
418
|
//1.bp.blogspot.com/-rYk_u-qROQc/WngolJ8M0LI/AAAAAAAAD-w/woivnaIVzasBPG5C2T1t-VrWKRd_U6lMgCLcBGAs/w530-h278-p/i-469.jpg
|
403
419
|
https://2.bp.blogspot.com/-rb2PXLGZy0s/W2nQe3mXOSI/AAAAAAAARhQ/P8gV-bMtYbY2xxpTJNcYVxu3XDTUaugxQCLcBGAs/s640/beach-bora-bora-clouds-753626.jpg
|
404
420
|
http://4.bp.blogspot.com/-poH-QXn7YGg/U-3ZTDkeF_I/AAAAAAAAISE/ms2gNIb-v-g/w72-h72-p-k-no-nu/Top-24-Inspired-181.jpg
|
421
|
+
https://lh5.googleusercontent.com/FcYUQBKLXWtFLEvbQduvu7FHUm2f7U_MVdMBVnNbpwfzKHIU-xABkudxw-m21SlM0jFYRHedh7Is5Dg6qlgIQF1iSndlWjiKCTTsUo1w=s1080
|
405
422
|
},
|
406
423
|
imgur: %w{
|
407
424
|
https://imgur.com/3eThW
|
@@ -414,7 +431,7 @@ describe DirectLink do
|
|
414
431
|
https://500px.com/photo/112134597/milky-way-by-tom-hall
|
415
432
|
},
|
416
433
|
flickr: %w{
|
417
|
-
https://www.flickr.com/photos/
|
434
|
+
https://www.flickr.com/photos/59880970@N07/15773941043/in/dateposted-public/
|
418
435
|
https://flic.kr/p/vPvCWJ
|
419
436
|
},
|
420
437
|
wiki: %w{
|
@@ -423,7 +440,6 @@ describe DirectLink do
|
|
423
440
|
},
|
424
441
|
reddit: %w{
|
425
442
|
https://www.reddit.com/r/cacography/comments/32tq0i/c/
|
426
|
-
https://i.redd.it/si758zk7r5xz.jpg
|
427
443
|
http://redd.it/32tq0i
|
428
444
|
https://reddit.com/123456
|
429
445
|
https://www.reddit.com/r/travel/988889
|
@@ -431,12 +447,12 @@ describe DirectLink do
|
|
431
447
|
}.each do |method, tests|
|
432
448
|
describe "DirectLink() calls #{method}" do
|
433
449
|
tests.each_with_index do |input, i|
|
434
|
-
it "##{i + 1}" do
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
450
|
+
it "##{i + 1} (this may prematurely fail on redirect resolving, so links should be valid)" do
|
451
|
+
DirectLink.stub method, ->link{ throw :_ } do
|
452
|
+
catch :_ do
|
453
|
+
DirectLink input
|
454
|
+
fail "DirectLink.#{method} was not called"
|
455
|
+
end
|
440
456
|
end
|
441
457
|
end
|
442
458
|
end
|
@@ -612,7 +628,7 @@ describe DirectLink do
|
|
612
628
|
describe "other domains tests" do
|
613
629
|
[
|
614
630
|
["http://www.aeronautica.difesa.it/organizzazione/REPARTI/divolo/PublishingImages/6%C2%B0%20Stormo/2013-decollo%20al%20tramonto%20REX%201280.jpg", ["http://www.aeronautica.difesa.it/organizzazione/REPARTI/divolo/PublishingImages/6%C2%B0%20Stormo/2013-decollo%20al%20tramonto%20REX%201280.jpg", 1280, 853, :jpeg], nil, 1],
|
615
|
-
["http://minus.com/lkP3hgRJd9npi", SocketError, /nodename nor servname provided, or not known|No address associated with hostname/, 0],
|
631
|
+
# ["http://minus.com/lkP3hgRJd9npi", SocketError, /nodename nor servname provided, or not known|No address associated with hostname/, 0],
|
616
632
|
["http://www.cutehalloweencostumeideas.org/wp-content/uploads/2017/10/Niagara-Falls_04.jpg", SocketError, /nodename nor servname provided, or not known|Name or service not known/, 0],
|
617
633
|
].each_with_index do |(input, expectation, message_string_or_regex, max_redirect_resolving_retry_delay), i|
|
618
634
|
it "##{i + 1}" do
|
@@ -730,7 +746,7 @@ describe DirectLink do
|
|
730
746
|
[
|
731
747
|
["<= #{valid_imgur_image_url1}
|
732
748
|
=> https://i.imgur.com/QpOBvRY.png
|
733
|
-
png 460x460
|
749
|
+
image/png 460x460
|
734
750
|
<= #{valid_imgur_image_url2}
|
735
751
|
=> https://i.imgur.com/QpOBvRY.png
|
736
752
|
image/png 460x460
|
@@ -742,7 +758,7 @@ describe DirectLink do
|
|
742
758
|
"url": "https://i.imgur.com/QpOBvRY.png",
|
743
759
|
"width": 460,
|
744
760
|
"height": 460,
|
745
|
-
"type": "png"
|
761
|
+
"type": "image/png"
|
746
762
|
},
|
747
763
|
[
|
748
764
|
{
|
@@ -769,7 +785,7 @@ describe DirectLink do
|
|
769
785
|
|
770
786
|
it "reddit_bot gem logger does not flood STDOUT" do
|
771
787
|
string, status = Open3.capture2e "RUBYOPT='-rbundler/setup' ./bin/directlink http://redd.it/997he7"
|
772
|
-
assert_equal "<= http://redd.it/997he7\n=> https://i.imgur.com/QpOBvRY.png\n png 460x460\n", string
|
788
|
+
assert_equal "<= http://redd.it/997he7\n=> https://i.imgur.com/QpOBvRY.png\n image/png 460x460\n", string
|
773
789
|
end
|
774
790
|
|
775
791
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: directlink
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Maslov aka Nakilon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fastimage
|