rubygems-code_finder 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/Gemfile +5 -1
- data/README.md +20 -3
- data/lib/rubygems/code_finder/version.rb +1 -1
- data/lib/rubygems-code_finder.rb +2 -2
- data/spec/fixtures/fluentd.json +1 -0
- data/spec/fixtures/mm-devise.json +1 -0
- data/spec/rubygems/code_finder/url_spec.rb +20 -0
- data/spec/spec_helper.rb +3 -0
- metadata +6 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe24bba3e53caa2990669bccff73599ccfd2954e
|
4
|
+
data.tar.gz: b78146d65d86177a001ec9ed05e2840018856cd4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 563eb43de6d027b183e09052d62518df86d21279d4158e40a7710dfdaddd1d63a1f348d3223d4c5655d64bd095455dc700ca112017a02f9f387b6d12f5bdc6c3
|
7
|
+
data.tar.gz: 0fe914d8364a4bf49e52b0db62ce5533c767544b0fc50f084bf2f74695d260f256290c85930a0854cddfc20e0fb2f2ab9180164930b961b8240412df4b388149
|
data/CHANGELOG.md
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
[![Build Status](https://api.travis-ci.org/sanemat/rubygems-code_finder.png?branch=master)](https://travis-ci.org/sanemat/rubygems-code_finder)
|
5
5
|
[![Code Climate](https://codeclimate.com/github/sanemat/rubygems-code_finder.png)](https://codeclimate.com/github/sanemat/rubygems-code_finder)
|
6
6
|
[![Coverage Status](https://coveralls.io/repos/sanemat/rubygems-code_finder/badge.png?branch=master)](https://coveralls.io/r/sanemat/rubygems-code_finder)
|
7
|
-
[![Dependency Status](https://gemnasium.com/sanemat/rubygems-code_finder.png)](https://gemnasium.com/sanemat/rubygems-code_finder)
|
8
7
|
|
9
8
|
## Installation
|
10
9
|
|
@@ -22,11 +21,29 @@ Or install it yourself as:
|
|
22
21
|
|
23
22
|
## Usage
|
24
23
|
|
25
|
-
|
24
|
+
```irb
|
25
|
+
irb(main):001:0> require 'rubygems-code_finder'
|
26
|
+
=> true
|
27
|
+
irb(main):002:0> Rubygems::CodeFinder.url 'tachikoma'
|
28
|
+
=> "https://github.com/sanemat/tachikoma"
|
29
|
+
irb(main):003:0> Rubygems::CodeFinder.url 'invalid'
|
30
|
+
Rubygems::CodeFinder::RubygemsNotFound: Rubygems::CodeFinder::RubygemsNotFound
|
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
|
+
from (irb):3
|
33
|
+
from /Users/sane/.anyenv/envs/rbenv/versions/2.1.0/bin/irb:11:in `<main>'
|
34
|
+
irb(main):004:0> Rubygems::CodeFinder.url 'mm-devise'
|
35
|
+
=> "http://github.com/kristianmandrup/mm-devise"
|
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>'
|
42
|
+
```
|
26
43
|
|
27
44
|
## Contributing
|
28
45
|
|
29
|
-
1. Fork it ( https://github.com/
|
46
|
+
1. Fork it ( https://github.com/sanemat/rubygems-code_finder/fork )
|
30
47
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
31
48
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
32
49
|
4. Push to the branch (`git push origin my-new-feature`)
|
data/lib/rubygems-code_finder.rb
CHANGED
@@ -18,8 +18,8 @@ module Rubygems
|
|
18
18
|
|
19
19
|
def parse_response_body(body)
|
20
20
|
data = MultiJson.load(body)
|
21
|
-
return data['source_code_uri'] if URI.parse(data['source_code_uri']).host == 'github.com'
|
22
|
-
return data['homepage_uri'] if URI.parse(data['homepage_uri']).host == 'github.com'
|
21
|
+
return data['source_code_uri'] if data['source_code_uri'] && URI.parse(data['source_code_uri']).host == 'github.com'
|
22
|
+
return data['homepage_uri'] if data['homepage_uri'] && URI.parse(data['homepage_uri']).host == 'github.com'
|
23
23
|
fail RepositoryNotFound
|
24
24
|
end
|
25
25
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"fluentd","downloads":94295,"version":"0.10.43","version_downloads":3991,"platform":"ruby","authors":"Sadayuki Furuhashi","info":"Fluentd is an event collector system. It is a generalized version of syslogd, which handles JSON objects for its log messages","licenses":[],"project_uri":"http://rubygems.org/gems/fluentd","gem_uri":"http://rubygems.org/gems/fluentd-0.10.43.gem","homepage_uri":"http://fluentd.org/","wiki_uri":null,"documentation_uri":null,"mailing_list_uri":null,"source_code_uri":null,"bug_tracker_uri":null,"dependencies":{"development":[{"name":"parallel_tests","requirements":">= 0.15.3"},{"name":"rake","requirements":">= 0.9.2"},{"name":"rr","requirements":">= 1.0.0"},{"name":"timecop","requirements":">= 0.3.0"}],"runtime":[{"name":"cool.io","requirements":"~> 1.1.1"},{"name":"http_parser.rb","requirements":"~> 0.5.1"},{"name":"json","requirements":">= 1.4.3"},{"name":"msgpack","requirements":"!= 0.5.0, != 0.5.1, != 0.5.2, != 0.5.3, < 0.6.0, >= 0.4.4"},{"name":"sigdump","requirements":"~> 0.2.2"},{"name":"yajl-ruby","requirements":"~> 1.0"}]}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"mm-devise","downloads":35152,"version":"2.0","version_downloads":4124,"platform":"ruby","authors":"Kristian Mandrup","info":"dm-devise adds MongoMapper support to devise (http://github.com/plataformatec/devise) for authentication support for Rails","licenses":null,"project_uri":"http://rubygems.org/gems/mm-devise","gem_uri":"http://rubygems.org/gems/mm-devise-2.0.gem","homepage_uri":"http://github.com/kristianmandrup/mm-devise","wiki_uri":null,"documentation_uri":null,"mailing_list_uri":null,"source_code_uri":null,"bug_tracker_uri":null,"dependencies":{"development":[],"runtime":[{"name":"devise","requirements":">= 1.2"},{"name":"mongo_mapper","requirements":">= 0.9.0"}]}}
|
@@ -8,4 +8,24 @@ describe Rubygems::CodeFinder do
|
|
8
8
|
|
9
9
|
expect(Rubygems::CodeFinder.url('tachikoma')).to eq 'https://github.com/sanemat/tachikoma'
|
10
10
|
end
|
11
|
+
|
12
|
+
it 'fails gem not found' do
|
13
|
+
stub_request(:get, 'https://rubygems.org/api/v1/gems/invalid.json').
|
14
|
+
to_return(status: 404, body: '', headers: {})
|
15
|
+
expect { Rubygems::CodeFinder.url('invalid') }.to raise_error(Rubygems::CodeFinder::RubygemsNotFound)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'returns homepage_uri' do
|
19
|
+
stub_request(:get, 'https://rubygems.org/api/v1/gems/mm-devise.json').
|
20
|
+
to_return(status: 200, body: File.new('./spec/fixtures/mm-devise.json'), headers: {})
|
21
|
+
|
22
|
+
expect(Rubygems::CodeFinder.url('mm-devise')).to eq 'http://github.com/kristianmandrup/mm-devise'
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'fails repository not found' do
|
26
|
+
stub_request(:get, 'https://rubygems.org/api/v1/gems/fluentd.json').
|
27
|
+
to_return(status: 200, body: File.new('./spec/fixtures/fluentd.json'), headers: {})
|
28
|
+
|
29
|
+
expect { Rubygems::CodeFinder.url('fluentd') }.to raise_error(Rubygems::CodeFinder::RepositoryNotFound)
|
30
|
+
end
|
11
31
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-code_finder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sanemat
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- ".gitignore"
|
105
105
|
- ".rspec"
|
106
106
|
- ".travis.yml"
|
107
|
+
- CHANGELOG.md
|
107
108
|
- Gemfile
|
108
109
|
- LICENSE.txt
|
109
110
|
- README.md
|
@@ -111,6 +112,8 @@ files:
|
|
111
112
|
- lib/rubygems-code_finder.rb
|
112
113
|
- lib/rubygems/code_finder/version.rb
|
113
114
|
- rubygems-code_finder.gemspec
|
115
|
+
- spec/fixtures/fluentd.json
|
116
|
+
- spec/fixtures/mm-devise.json
|
114
117
|
- spec/fixtures/tachikoma.json
|
115
118
|
- spec/rubygems/code_finder/url_spec.rb
|
116
119
|
- spec/spec_helper.rb
|
@@ -139,6 +142,8 @@ signing_key:
|
|
139
142
|
specification_version: 4
|
140
143
|
summary: Easy to find rubygems' github repository.
|
141
144
|
test_files:
|
145
|
+
- spec/fixtures/fluentd.json
|
146
|
+
- spec/fixtures/mm-devise.json
|
142
147
|
- spec/fixtures/tachikoma.json
|
143
148
|
- spec/rubygems/code_finder/url_spec.rb
|
144
149
|
- spec/spec_helper.rb
|