rubygems-code_finder 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fe24bba3e53caa2990669bccff73599ccfd2954e
4
- data.tar.gz: b78146d65d86177a001ec9ed05e2840018856cd4
3
+ metadata.gz: c80b17529159ac4b3866452626e67c50999a0cab
4
+ data.tar.gz: e377fb2b2c500b9677d183afd79af4413694321d
5
5
  SHA512:
6
- metadata.gz: 563eb43de6d027b183e09052d62518df86d21279d4158e40a7710dfdaddd1d63a1f348d3223d4c5655d64bd095455dc700ca112017a02f9f387b6d12f5bdc6c3
7
- data.tar.gz: 0fe914d8364a4bf49e52b0db62ce5533c767544b0fc50f084bf2f74695d260f256290c85930a0854cddfc20e0fb2f2ab9180164930b961b8240412df4b388149
6
+ metadata.gz: 565b98f0d4af096091da776348bdab88049df184c94d2ebc2c0772c8961af9ccd4cbc7002a1073d5f908e5ce981c37f62e466431e7a098fa4a9db6d2be71af05
7
+ data.tar.gz: 5ee6b72f9492a8762c5d68bfba7b11bd4d87e48c502484ca56c4274b844569ffde6afbd9808c08d73d47b76451a720948fc0b5fb14736ffb49f81f22a0332320
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.0.3 (2014-02-23)
2
+ Features:
3
+
4
+ - Search github (#3, @sanemat)
5
+
1
6
  ## 0.0.2 (2014-02-23)
2
7
  Fixes:
3
8
 
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
- Rubygems::CodeFinder::RepositoryNotFound: Rubygems::CodeFinder::RepositoryNotFound
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
@@ -1,5 +1,5 @@
1
1
  module Rubygems
2
2
  module CodeFinder
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
  end
@@ -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
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'faraday'
22
22
  spec.add_dependency 'multi_json'
23
+ spec.add_dependency 'octokit'
23
24
 
24
25
  spec.add_development_dependency 'bundler', '>= 1.3'
25
26
  spec.add_development_dependency 'rake'