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 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