rubygems-code_finder 0.0.1 → 0.0.2
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 +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
|
[](https://travis-ci.org/sanemat/rubygems-code_finder)
|
5
5
|
[](https://codeclimate.com/github/sanemat/rubygems-code_finder)
|
6
6
|
[](https://coveralls.io/r/sanemat/rubygems-code_finder)
|
7
|
-
[](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
|