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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3893255e756fac25b7a9cf3b006ca5b4ebb8947e
4
- data.tar.gz: 7487c80c93d5ac140c57c818fd446efe2b32d4b2
3
+ metadata.gz: fe24bba3e53caa2990669bccff73599ccfd2954e
4
+ data.tar.gz: b78146d65d86177a001ec9ed05e2840018856cd4
5
5
  SHA512:
6
- metadata.gz: eaefc4952bae7251397f40bf6ecb86802941739d20959cc226a1228df331484b9491c6d4d8cf34a8b8eee9ecd94a91283ca1706c7f20361395a6b9ad3c0279f7
7
- data.tar.gz: 572558fc0c93a6b98f3f192549e4870c4ca840d556aa1c07968f699b36172692eba7a4b98d0527f00c90137ddb85dd616b59e1a318e81d4be4b72942f26a5fbb
6
+ metadata.gz: 563eb43de6d027b183e09052d62518df86d21279d4158e40a7710dfdaddd1d63a1f348d3223d4c5655d64bd095455dc700ca112017a02f9f387b6d12f5bdc6c3
7
+ data.tar.gz: 0fe914d8364a4bf49e52b0db62ce5533c767544b0fc50f084bf2f74695d260f256290c85930a0854cddfc20e0fb2f2ab9180164930b961b8240412df4b388149
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ ## 0.0.2 (2014-02-23)
2
+ Fixes:
3
+
4
+ - Adujst empty url (#1, @sanemat)
5
+
6
+ ## 0.0.1 (2014-02-23)
7
+ Features:
8
+
9
+ - Ship it!
data/Gemfile CHANGED
@@ -4,4 +4,8 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  gem 'oj'
7
- gem 'byebug'
7
+
8
+ group :development, :test do
9
+ gem 'coveralls', require: false
10
+ gem 'byebug'
11
+ end
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
- TODO: Write usage instructions here
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/[my-github-username]/rubygems-code_finder/fork )
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`)
@@ -1,5 +1,5 @@
1
1
  module Rubygems
2
2
  module CodeFinder
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
  end
@@ -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
@@ -1,3 +1,6 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
1
4
  lib = File.expand_path('../../lib', __FILE__)
2
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
6
  require 'rubygems-code_finder'
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.1
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