compare_linker 1.1.7 → 1.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/compare_linker/github_link_finder.rb +7 -7
- data/lib/compare_linker/version.rb +1 -1
- data/spec/fixtures/coffee-script-source.json +1 -0
- data/spec/lib/compare_linker/github_link_finder_spec.rb +14 -1
- metadata +4 -4
- data/spec/fixtures/not_found.json +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f0e3bda9179cf4d4c524678a35ab90e6bfc4f59
|
4
|
+
data.tar.gz: 1f50cd40c055491ab0a93443bbe213cfe0483f07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 135c0afd55875f951969b2e2fe815c9d4dfc7b5ec8fbc992a90ce6fccaa8d07f06c4381c6078a1d02e2f703fb2c53611a8a6f1cd6fcf70aa2a82ea837ca42cfc
|
7
|
+
data.tar.gz: 11e4d41e901270e29d2f13673b1f1891b944ac7c75901b9bbce3bacee92fd510e7a1d0b142511a9b94686907e3503d546bc58b23db92a61fcd18541614d9d51c
|
data/Gemfile.lock
CHANGED
@@ -20,14 +20,13 @@ class CompareLinker
|
|
20
20
|
gem_info["source_code_uri"]
|
21
21
|
].find { |uri| uri.to_s.match(/github\.com\//) }
|
22
22
|
|
23
|
-
if github_url
|
24
|
-
@homepage_uri = gem_info["homepage_uri"]
|
25
|
-
else
|
26
|
-
github_url = redirect_url(github_url)
|
23
|
+
if github_url = redirect_url(github_url)
|
27
24
|
_, @repo_owner, @repo_name = github_url.match(%r!github\.com/([^/]+)/([^/]+)!).to_a
|
25
|
+
else
|
26
|
+
@homepage_uri = gem_info["homepage_uri"]
|
28
27
|
end
|
29
28
|
|
30
|
-
rescue
|
29
|
+
rescue HTTPClient::BadResponseError
|
31
30
|
@homepage_uri = "https://rubygems.org/gems/#{gem_name}"
|
32
31
|
end
|
33
32
|
|
@@ -38,7 +37,8 @@ class CompareLinker
|
|
38
37
|
private
|
39
38
|
|
40
39
|
def redirect_url(url, limit = 5)
|
41
|
-
|
40
|
+
return nil if url.nil?
|
41
|
+
return nil if limit <= 0
|
42
42
|
|
43
43
|
uri = URI.parse(url)
|
44
44
|
response = Net::HTTP.get_response(uri)
|
@@ -49,7 +49,7 @@ class CompareLinker
|
|
49
49
|
when Net::HTTPRedirection
|
50
50
|
redirect_url(to_absolute(response['location'], uri), limit - 1)
|
51
51
|
else
|
52
|
-
|
52
|
+
nil
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"coffee-script-source","downloads":23413938,"version":"1.9.1.1","version_downloads":10964,"platform":"ruby","authors":"Jeremy Ashkenas","info":" CoffeeScript is a little language that compiles into JavaScript.\n Underneath all of those embarrassing braces and semicolons,\n JavaScript has always had a gorgeous object model at its heart.\n CoffeeScript is an attempt to expose the good parts of JavaScript\n in a simple way.\n","licenses":["MIT"],"metadata":{},"sha":"05bbce02078abdb6969abfee5b18b9b914b475895222acac3d5613fe3dcf2eab","project_uri":"http://rubygems.org/gems/coffee-script-source","gem_uri":"http://rubygems.org/gems/coffee-script-source-1.9.1.1.gem","homepage_uri":"http://jashkenas.github.com/coffee-script/","wiki_uri":null,"documentation_uri":null,"mailing_list_uri":null,"source_code_uri":null,"bug_tracker_uri":null,"dependencies":{"development":[],"runtime":[]}}
|
@@ -33,7 +33,8 @@ describe CompareLinker::GithubLinkFinder do
|
|
33
33
|
|
34
34
|
context "if gem not found on rubygems.org" do
|
35
35
|
before do
|
36
|
-
|
36
|
+
exception = HTTPClient::BadResponseError.new "unexpected response:..."
|
37
|
+
allow(HTTPClient).to receive(:get_content).and_raise exception
|
37
38
|
end
|
38
39
|
|
39
40
|
it "extracts homepage_uri" do
|
@@ -41,5 +42,17 @@ describe CompareLinker::GithubLinkFinder do
|
|
41
42
|
expect(subject.homepage_uri).to eq "https://rubygems.org/gems/not_found"
|
42
43
|
end
|
43
44
|
end
|
45
|
+
|
46
|
+
context "if homepage_uri is '404 not found'" do
|
47
|
+
before do
|
48
|
+
allow(HTTPClient).to receive(:get_content).and_return load_fixture("coffee-script-source.json")
|
49
|
+
allow(subject).to receive(:redirect_url).and_return nil
|
50
|
+
end
|
51
|
+
|
52
|
+
it "extracts homepage_uri" do
|
53
|
+
subject.find("coffee-script-source")
|
54
|
+
expect(subject.homepage_uri).to eq "http://jashkenas.github.com/coffee-script/"
|
55
|
+
end
|
56
|
+
end
|
44
57
|
end
|
45
58
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: compare_linker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kensuke Nagae
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octokit
|
@@ -110,7 +110,7 @@ files:
|
|
110
110
|
- lib/compare_linker/webhook_payload.rb
|
111
111
|
- payload.rb
|
112
112
|
- runner.rb
|
113
|
-
- spec/fixtures/
|
113
|
+
- spec/fixtures/coffee-script-source.json
|
114
114
|
- spec/fixtures/rails.json
|
115
115
|
- spec/fixtures/web_translate_it.json
|
116
116
|
- spec/lib/compare_linker/github_link_finder_spec.rb
|
@@ -141,7 +141,7 @@ signing_key:
|
|
141
141
|
specification_version: 4
|
142
142
|
summary: Create GitHub's compare view URLs for pull request
|
143
143
|
test_files:
|
144
|
-
- spec/fixtures/
|
144
|
+
- spec/fixtures/coffee-script-source.json
|
145
145
|
- spec/fixtures/rails.json
|
146
146
|
- spec/fixtures/web_translate_it.json
|
147
147
|
- spec/lib/compare_linker/github_link_finder_spec.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
This rubygem could not be found.
|