rubygems-code_finder 0.0.2 → 0.0.3
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/CHANGELOG.md +5 -0
- data/README.md +3 -7
- data/lib/rubygems/code_finder/version.rb +1 -1
- data/lib/rubygems-code_finder.rb +4 -0
- data/rubygems-code_finder.gemspec +1 -0
- data/spec/fixtures/repositories?q=fluentd +2645 -0
- data/spec/fixtures/repositories?q=reposnotfound +6 -0
- data/spec/rubygems/code_finder/url_spec.rb +11 -0
- metadata +19 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c80b17529159ac4b3866452626e67c50999a0cab
|
4
|
+
data.tar.gz: e377fb2b2c500b9677d183afd79af4413694321d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 565b98f0d4af096091da776348bdab88049df184c94d2ebc2c0772c8961af9ccd4cbc7002a1073d5f908e5ce981c37f62e466431e7a098fa4a9db6d2be71af05
|
7
|
+
data.tar.gz: 5ee6b72f9492a8762c5d68bfba7b11bd4d87e48c502484ca56c4274b844569ffde6afbd9808c08d73d47b76451a720948fc0b5fb14736ffb49f81f22a0332320
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -25,20 +25,16 @@ Or install it yourself as:
|
|
25
25
|
irb(main):001:0> require 'rubygems-code_finder'
|
26
26
|
=> true
|
27
27
|
irb(main):002:0> Rubygems::CodeFinder.url 'tachikoma'
|
28
|
-
=> "https://github.com/sanemat/tachikoma"
|
28
|
+
=> "https://github.com/sanemat/tachikoma" # Fetch from api.rubygems.org response source_code_uri
|
29
29
|
irb(main):003:0> Rubygems::CodeFinder.url 'invalid'
|
30
30
|
Rubygems::CodeFinder::RubygemsNotFound: Rubygems::CodeFinder::RubygemsNotFound
|
31
31
|
from /Users/sane/.anyenv/envs/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/bundler/gems/rubygems-code_finder-9fdb9327350d/lib/rubygems-code_finder.rb:15:in `url'
|
32
32
|
from (irb):3
|
33
33
|
from /Users/sane/.anyenv/envs/rbenv/versions/2.1.0/bin/irb:11:in `<main>'
|
34
34
|
irb(main):004:0> Rubygems::CodeFinder.url 'mm-devise'
|
35
|
-
=> "http://github.com/kristianmandrup/mm-devise"
|
35
|
+
=> "http://github.com/kristianmandrup/mm-devise" # Fetch from api.rubygems.org response homepage_url
|
36
36
|
irb(main):005:0> Rubygems::CodeFinder.url 'fluentd'
|
37
|
-
|
38
|
-
from /Users/sane/.anyenv/envs/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/bundler/gems/rubygems-code_finder-9fdb9327350d/lib/rubygems-code_finder.rb:23:in `parse_response_body'
|
39
|
-
from /Users/sane/.anyenv/envs/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/bundler/gems/rubygems-code_finder-9fdb9327350d/lib/rubygems-code_finder.rb:16:in `url'
|
40
|
-
from (irb):5
|
41
|
-
from /Users/sane/.anyenv/envs/rbenv/versions/2.1.0/bin/irb:11:in `<main>'
|
37
|
+
=> "https://github.com/fluent/fluentd" # Search github
|
42
38
|
```
|
43
39
|
|
44
40
|
## Contributing
|
data/lib/rubygems-code_finder.rb
CHANGED
@@ -2,6 +2,7 @@ require 'rubygems/code_finder/version'
|
|
2
2
|
require 'faraday'
|
3
3
|
require 'multi_json'
|
4
4
|
require 'uri'
|
5
|
+
require 'octokit'
|
5
6
|
|
6
7
|
module Rubygems
|
7
8
|
module CodeFinder
|
@@ -20,6 +21,9 @@ module Rubygems
|
|
20
21
|
data = MultiJson.load(body)
|
21
22
|
return data['source_code_uri'] if data['source_code_uri'] && URI.parse(data['source_code_uri']).host == 'github.com'
|
22
23
|
return data['homepage_uri'] if data['homepage_uri'] && URI.parse(data['homepage_uri']).host == 'github.com'
|
24
|
+
|
25
|
+
res = Octokit.search_repositories data['name']
|
26
|
+
return 'https://github.com/' + res.items.first.full_name if res.items.count >= 1
|
23
27
|
fail RepositoryNotFound
|
24
28
|
end
|
25
29
|
end
|