gems 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +3 -0
- data/.yardopts +2 -0
- data/CONTRIBUTING.md +45 -0
- data/README.md +17 -49
- data/Rakefile +1 -6
- data/gems.gemspec +22 -19
- data/lib/gems/version.rb +1 -1
- data/spec/gems/client_spec.rb +96 -141
- data/spec/gems_spec.rb +18 -18
- data/spec/helper.rb +6 -0
- metadata +42 -98
- metadata.gz.sig +1 -0
- data/.gemtest +0 -0
- data/.gitignore +0 -16
- data/.rspec +0 -2
- data/.travis.yml +0 -10
- data/Gemfile +0 -7
data.tar.gz.sig
ADDED
data/.yardopts
CHANGED
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
## Contributing
|
2
|
+
In the spirit of [free software][free-sw], **everyone** is encouraged to help improve this project.
|
3
|
+
|
4
|
+
Here are some ways *you* can contribute:
|
5
|
+
|
6
|
+
* by using alpha, beta, and prerelease versions
|
7
|
+
* by reporting bugs
|
8
|
+
* by suggesting new features
|
9
|
+
* by writing or editing documentation
|
10
|
+
* by writing specifications
|
11
|
+
* by writing code (**no patch is too small**: fix typos, add comments, clean up
|
12
|
+
inconsistent whitespace)
|
13
|
+
* by refactoring code
|
14
|
+
* by closing [issues][]
|
15
|
+
* by reviewing patches
|
16
|
+
|
17
|
+
## Submitting an Issue
|
18
|
+
We use the [GitHub issue tracker][issues] to track bugs and features. Before
|
19
|
+
submitting a bug report or feature request, check to make sure it hasn't
|
20
|
+
already been submitted. When submitting a bug report, please include a [Gist][]
|
21
|
+
that includes a stack trace and any details that may be necessary to reproduce
|
22
|
+
the bug, including your gem version, Ruby version, and operating system.
|
23
|
+
Ideally, a bug report should include a pull request with failing specs.
|
24
|
+
|
25
|
+
## Submitting a Pull Request
|
26
|
+
1. [Fork the repository.][fork]
|
27
|
+
2. [Create a topic branch.][branch]
|
28
|
+
3. Add specs for your unimplemented feature or bug fix.
|
29
|
+
4. Run `bundle exec rake spec`. If your specs pass, return to step 3.
|
30
|
+
5. Implement your feature or bug fix.
|
31
|
+
6. Run `bundle exec rake spec`. If your specs fail, return to step 5.
|
32
|
+
7. Run `open coverage/index.html`. If your changes are not completely covered
|
33
|
+
by your tests, return to step 3.
|
34
|
+
8. Add documentation for your feature or bug fix.
|
35
|
+
9. Run `bundle exec rake yard`. If your changes are not 100% documented, go
|
36
|
+
back to step 8.
|
37
|
+
10. Add, commit, and push your changes.
|
38
|
+
11. [Submit a pull request.][pr]
|
39
|
+
|
40
|
+
[free-sw]: http://www.fsf.org/licensing/essays/free-sw.html
|
41
|
+
[issues]: https://github.com/rubygems/gems/issues
|
42
|
+
[gist]: https://gist.github.com/
|
43
|
+
[fork]: http://help.github.com/fork-a-repo/
|
44
|
+
[branch]: http://learn.github.com/p/branching.html
|
45
|
+
[pr]: http://help.github.com/send-pull-requests/
|
data/README.md
CHANGED
@@ -1,12 +1,27 @@
|
|
1
|
-
# Gems
|
2
|
-
|
1
|
+
# Gems
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/gems.png)][gem]
|
3
|
+
[![Build Status](https://secure.travis-ci.org/rubygems/gems.png?branch=master)][travis]
|
4
|
+
[![Dependency Status](https://gemnasium.com/rubygems/gems.png?travis)][gemnasium]
|
3
5
|
|
6
|
+
[gem]: https://rubygems.org/gems/gems
|
4
7
|
[travis]: http://travis-ci.org/rubygems/gems
|
5
8
|
[gemnasium]: https://gemnasium.com/rubygems/gems
|
6
9
|
|
10
|
+
Ruby wrapper for the RubyGems.org API.
|
11
|
+
|
7
12
|
## Installation
|
8
13
|
gem install gems
|
9
14
|
|
15
|
+
To ensure the code you're installing hasn't been tampered with, it's
|
16
|
+
recommended that you verify the signature. To do this, you need to add my
|
17
|
+
public key as a trusted certificate (you only need to do this once):
|
18
|
+
|
19
|
+
gem cert --add <(curl -Ls https://gist.github.com/sferik/4701180/raw/public_cert.pem)
|
20
|
+
|
21
|
+
Then, install the gem with the high security trust policy:
|
22
|
+
|
23
|
+
gem install gems -P HighSecurity
|
24
|
+
|
10
25
|
## Documentation
|
11
26
|
[http://rdoc.info/gems/gems](http://rdoc.info/gems/gems)
|
12
27
|
|
@@ -40,9 +55,6 @@ Ruby wrapper for the RubyGems.org API.
|
|
40
55
|
# Return an array of version details for coulda.
|
41
56
|
Gems.versions 'coulda'
|
42
57
|
|
43
|
-
# Return an array of version details for coulda.
|
44
|
-
Gems.versions 'coulda'
|
45
|
-
|
46
58
|
# Return the total number of downloads for rails_admin 0.0.1.
|
47
59
|
# (Defaults to the latest version if no version is specified.)
|
48
60
|
Gems.total_downloads 'rails_admin', '0.0.1'
|
@@ -108,50 +120,6 @@ Ruby wrapper for the RubyGems.org API.
|
|
108
120
|
config.key '701243f217cdf23b1370c7b66b65ca97'
|
109
121
|
end
|
110
122
|
|
111
|
-
## Contributing
|
112
|
-
In the spirit of [free software](http://www.fsf.org/licensing/essays/free-sw.html), **everyone** is encouraged to help improve this project.
|
113
|
-
|
114
|
-
Here are some ways *you* can contribute:
|
115
|
-
|
116
|
-
* by using alpha, beta, and prerelease versions
|
117
|
-
* by reporting bugs
|
118
|
-
* by suggesting new features
|
119
|
-
* by writing or editing documentation
|
120
|
-
* by writing specifications
|
121
|
-
* by writing code (**no patch is too small**: fix typos, add comments, clean up
|
122
|
-
inconsistent whitespace)
|
123
|
-
* by refactoring code
|
124
|
-
* by closing [issues](https://github.com/rubygems/gems/issues)
|
125
|
-
* by reviewing patches
|
126
|
-
|
127
|
-
## Submitting an Issue
|
128
|
-
We use the [GitHub issue tracker](https://github.com/rubygems/gems/issues) to
|
129
|
-
track bugs and features. Before submitting a bug report or feature request,
|
130
|
-
check to make sure it hasn't already been submitted. When submitting a bug
|
131
|
-
report, please include a [Gist](https://gist.github.com/) that includes a stack
|
132
|
-
trace and any details that may be necessary to reproduce the bug, including
|
133
|
-
your gem version, Ruby version, and operating system. Ideally, a bug report
|
134
|
-
should include a pull request with failing specs.
|
135
|
-
|
136
|
-
## Submitting a Pull Request
|
137
|
-
1. [Fork the repository.][fork]
|
138
|
-
2. [Create a topic branch.][branch]
|
139
|
-
3. Add specs for your unimplemented feature or bug fix.
|
140
|
-
4. Run `bundle exec rake spec`. If your specs pass, return to step 3.
|
141
|
-
5. Implement your feature or bug fix.
|
142
|
-
6. Run `bundle exec rake spec`. If your specs fail, return to step 5.
|
143
|
-
7. Run `open coverage/index.html`. If your changes are not completely covered
|
144
|
-
by your tests, return to step 3.
|
145
|
-
8. Add documentation for your feature or bug fix.
|
146
|
-
9. Run `bundle exec rake doc:yard`. If your changes are not 100% documented, go
|
147
|
-
back to step 8.
|
148
|
-
10. Add, commit, and push your changes.
|
149
|
-
11. [Submit a pull request.][pr]
|
150
|
-
|
151
|
-
[fork]: http://help.github.com/fork-a-repo/
|
152
|
-
[branch]: http://learn.github.com/p/branching.html
|
153
|
-
[pr]: http://help.github.com/send-pull-requests/
|
154
|
-
|
155
123
|
## Supported Ruby Versions
|
156
124
|
This library aims to support and is [tested against][travis] the following Ruby
|
157
125
|
implementations:
|
data/Rakefile
CHANGED
data/gems.gemspec
CHANGED
@@ -1,21 +1,24 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'gems/version'
|
3
5
|
|
4
|
-
Gem::Specification.new do |
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.add_development_dependency 'bundler', '~> 1.0'
|
8
|
+
spec.authors = ["Erik Michaels-Ober"]
|
9
|
+
spec.cert_chain = ['certs/sferik.pem']
|
10
|
+
spec.description = %q{Ruby wrapper for the RubyGems.org API}
|
11
|
+
spec.email = ['sferik@gmail.com']
|
12
|
+
spec.files = `git ls-files`.split("\n")
|
13
|
+
spec.files = %w(.yardopts CONTRIBUTING.md LICENSE.md README.md Rakefile gems.gemspec)
|
14
|
+
spec.files += Dir.glob("lib/**/*.rb")
|
15
|
+
spec.files += Dir.glob("spec/**/*")
|
16
|
+
spec.homepage = 'https://github.com/rubygems/gems'
|
17
|
+
spec.licenses = ['MIT']
|
18
|
+
spec.name = 'gems'
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
spec.signing_key = File.expand_path("~/.gem/private_key.pem") if $0 =~ /gem\z/
|
21
|
+
spec.summary = spec.description
|
22
|
+
spec.test_files = Dir.glob("spec/**/*")
|
23
|
+
spec.version = Gems::VERSION
|
21
24
|
end
|
data/lib/gems/version.rb
CHANGED
data/spec/gems/client_spec.rb
CHANGED
@@ -10,11 +10,10 @@ describe Gems::Client do
|
|
10
10
|
stub_get("/api/v1/gems/rails.yaml").
|
11
11
|
to_return(:body => fixture("rails.yaml"))
|
12
12
|
end
|
13
|
-
it "
|
13
|
+
it "returns some basic information about the given gem" do
|
14
14
|
info = Gems.info 'rails'
|
15
|
-
a_get("/api/v1/gems/rails.yaml").
|
16
|
-
|
17
|
-
info['name'].should == 'rails'
|
15
|
+
expect(a_get("/api/v1/gems/rails.yaml")).to have_been_made
|
16
|
+
expect(info['name']).to eq 'rails'
|
18
17
|
end
|
19
18
|
end
|
20
19
|
|
@@ -24,12 +23,10 @@ describe Gems::Client do
|
|
24
23
|
with(:query => {"query" => "cucumber"}).
|
25
24
|
to_return(:body => fixture("search.yaml"))
|
26
25
|
end
|
27
|
-
it "
|
26
|
+
it "returns an array of active gems that match the query" do
|
28
27
|
search = Gems.search 'cucumber'
|
29
|
-
a_get("/api/v1/search.yaml").
|
30
|
-
|
31
|
-
should have_been_made
|
32
|
-
search.first['name'].should == 'cucumber'
|
28
|
+
expect(a_get("/api/v1/search.yaml").with(:query => {"query" => "cucumber"})).to have_been_made
|
29
|
+
expect(search.first['name']).to eq 'cucumber'
|
33
30
|
end
|
34
31
|
end
|
35
32
|
|
@@ -39,11 +36,10 @@ describe Gems::Client do
|
|
39
36
|
stub_get("/api/v1/gems.yaml").
|
40
37
|
to_return(:body => fixture("gems.yaml"))
|
41
38
|
end
|
42
|
-
it "
|
39
|
+
it "lists all gems that you own" do
|
43
40
|
gems = Gems.gems
|
44
|
-
a_get("/api/v1/gems.yaml").
|
45
|
-
|
46
|
-
gems.first['name'].should == "exchb"
|
41
|
+
expect(a_get("/api/v1/gems.yaml")).to have_been_made
|
42
|
+
expect(gems.first['name']).to eq "exchb"
|
47
43
|
end
|
48
44
|
end
|
49
45
|
context "with a user handle specified" do
|
@@ -51,11 +47,10 @@ describe Gems::Client do
|
|
51
47
|
stub_get("/api/v1/owners/sferik/gems.yaml").
|
52
48
|
to_return(:body => fixture("gems.yaml"))
|
53
49
|
end
|
54
|
-
it "
|
50
|
+
it "lists all gems that the specified user owns" do
|
55
51
|
gems = Gems.gems("sferik")
|
56
|
-
a_get("/api/v1/owners/sferik/gems.yaml").
|
57
|
-
|
58
|
-
gems.first['name'].should == "exchb"
|
52
|
+
expect(a_get("/api/v1/owners/sferik/gems.yaml")).to have_been_made
|
53
|
+
expect(gems.first['name']).to eq "exchb"
|
59
54
|
end
|
60
55
|
end
|
61
56
|
end
|
@@ -65,11 +60,10 @@ describe Gems::Client do
|
|
65
60
|
stub_post("/api/v1/gems").
|
66
61
|
to_return(:body => fixture("push"))
|
67
62
|
end
|
68
|
-
it "
|
63
|
+
it "submits a gem to RubyGems.org" do
|
69
64
|
push = Gems.push(File.new(File.expand_path("../../fixtures/gems-0.0.8.gem", __FILE__), "rb"))
|
70
|
-
a_post("/api/v1/gems").
|
71
|
-
|
72
|
-
push.should == "Successfully registered gem: gems (0.0.8)"
|
65
|
+
expect(a_post("/api/v1/gems")).to have_been_made
|
66
|
+
expect(push).to eq "Successfully registered gem: gems (0.0.8)"
|
73
67
|
end
|
74
68
|
end
|
75
69
|
|
@@ -82,12 +76,10 @@ describe Gems::Client do
|
|
82
76
|
with(:query => {:gem_name => "gems", :version => "3.0.9"}).
|
83
77
|
to_return(:body => fixture("yank"))
|
84
78
|
end
|
85
|
-
it "
|
79
|
+
it "removes a gem from RubyGems.org's index" do
|
86
80
|
yank = Gems.yank("gems")
|
87
|
-
a_delete("/api/v1/gems/yank").
|
88
|
-
|
89
|
-
should have_been_made
|
90
|
-
yank.should == "Successfully yanked gem: gems (0.0.8)"
|
81
|
+
expect(a_delete("/api/v1/gems/yank").with(:query => {:gem_name => "gems", :version => "3.0.9"})).to have_been_made
|
82
|
+
expect(yank).to eq "Successfully yanked gem: gems (0.0.8)"
|
91
83
|
end
|
92
84
|
end
|
93
85
|
context "with a version specified" do
|
@@ -96,12 +88,10 @@ describe Gems::Client do
|
|
96
88
|
with(:query => {:gem_name => "gems", :version => "0.0.8"}).
|
97
89
|
to_return(:body => fixture("yank"))
|
98
90
|
end
|
99
|
-
it "
|
91
|
+
it "removes a gem from RubyGems.org's index" do
|
100
92
|
yank = Gems.yank("gems", "0.0.8")
|
101
|
-
a_delete("/api/v1/gems/yank").
|
102
|
-
|
103
|
-
should have_been_made
|
104
|
-
yank.should == "Successfully yanked gem: gems (0.0.8)"
|
93
|
+
expect(a_delete("/api/v1/gems/yank").with(:query => {:gem_name => "gems", :version => "0.0.8"})).to have_been_made
|
94
|
+
expect(yank).to eq "Successfully yanked gem: gems (0.0.8)"
|
105
95
|
end
|
106
96
|
end
|
107
97
|
end
|
@@ -115,12 +105,10 @@ describe Gems::Client do
|
|
115
105
|
with(:body => {:gem_name => "gems", :version => "3.0.9"}).
|
116
106
|
to_return(:body => fixture("unyank"))
|
117
107
|
end
|
118
|
-
it "
|
108
|
+
it "updates a previously yanked gem back into RubyGems.org's index" do
|
119
109
|
unyank = Gems.unyank("gems")
|
120
|
-
a_put("/api/v1/gems/unyank").
|
121
|
-
|
122
|
-
should have_been_made
|
123
|
-
unyank.should == "Successfully unyanked gem: gems (0.0.8)"
|
110
|
+
expect(a_put("/api/v1/gems/unyank").with(:body => {:gem_name => "gems", :version => "3.0.9"})).to have_been_made
|
111
|
+
expect(unyank).to eq "Successfully unyanked gem: gems (0.0.8)"
|
124
112
|
end
|
125
113
|
end
|
126
114
|
context "with a version specified" do
|
@@ -129,12 +117,10 @@ describe Gems::Client do
|
|
129
117
|
with(:body => {:gem_name => "gems", :version => "0.0.8"}).
|
130
118
|
to_return(:body => fixture("unyank"))
|
131
119
|
end
|
132
|
-
it "
|
120
|
+
it "updates a previously yanked gem back into RubyGems.org's index" do
|
133
121
|
unyank = Gems.unyank("gems", "0.0.8")
|
134
|
-
a_put("/api/v1/gems/unyank").
|
135
|
-
|
136
|
-
should have_been_made
|
137
|
-
unyank.should == "Successfully unyanked gem: gems (0.0.8)"
|
122
|
+
expect(a_put("/api/v1/gems/unyank").with(:body => {:gem_name => "gems", :version => "0.0.8"})).to have_been_made
|
123
|
+
expect(unyank).to eq "Successfully unyanked gem: gems (0.0.8)"
|
138
124
|
end
|
139
125
|
end
|
140
126
|
end
|
@@ -144,11 +130,10 @@ describe Gems::Client do
|
|
144
130
|
stub_get("/api/v1/versions/script_helpers.yaml").
|
145
131
|
to_return(:body => fixture("script_helpers.yaml"))
|
146
132
|
end
|
147
|
-
it "
|
133
|
+
it "returns an array of gem version details" do
|
148
134
|
versions = Gems.versions 'script_helpers'
|
149
|
-
a_get("/api/v1/versions/script_helpers.yaml").
|
150
|
-
|
151
|
-
versions.first['number'].should == '0.1.0'
|
135
|
+
expect(a_get("/api/v1/versions/script_helpers.yaml")).to have_been_made
|
136
|
+
expect(versions.first['number']).to eq '0.1.0'
|
152
137
|
end
|
153
138
|
end
|
154
139
|
|
@@ -158,11 +143,10 @@ describe Gems::Client do
|
|
158
143
|
stub_get("/api/v1/downloads.yaml").
|
159
144
|
to_return(:body => fixture("total_downloads.yaml"))
|
160
145
|
end
|
161
|
-
it "
|
146
|
+
it "returns the total number of downloads on RubyGems.org" do
|
162
147
|
downloads = Gems.total_downloads
|
163
|
-
a_get("/api/v1/downloads.yaml").
|
164
|
-
|
165
|
-
downloads[:total].should == 244368950
|
148
|
+
expect(a_get("/api/v1/downloads.yaml")).to have_been_made
|
149
|
+
expect(downloads[:total]).to eq 244368950
|
166
150
|
end
|
167
151
|
end
|
168
152
|
context "with no version specified" do
|
@@ -172,14 +156,12 @@ describe Gems::Client do
|
|
172
156
|
stub_get("/api/v1/downloads/rails_admin-3.0.9.yaml").
|
173
157
|
to_return(:body => fixture("rails_admin-0.0.0.yaml"))
|
174
158
|
end
|
175
|
-
it "
|
159
|
+
it "returns the total number of downloads for the specified gem" do
|
176
160
|
downloads = Gems.total_downloads('rails_admin')
|
177
|
-
a_get("/api/v1/gems/rails_admin.yaml").
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
downloads[:version_downloads].should == 3142
|
182
|
-
downloads[:total_downloads].should == 3142
|
161
|
+
expect(a_get("/api/v1/gems/rails_admin.yaml")).to have_been_made
|
162
|
+
expect(a_get("/api/v1/downloads/rails_admin-3.0.9.yaml")).to have_been_made
|
163
|
+
expect(downloads[:version_downloads]).to eq 3142
|
164
|
+
expect(downloads[:total_downloads]).to eq 3142
|
183
165
|
end
|
184
166
|
end
|
185
167
|
context "with a version specified" do
|
@@ -187,12 +169,11 @@ describe Gems::Client do
|
|
187
169
|
stub_get("/api/v1/downloads/rails_admin-0.0.0.yaml").
|
188
170
|
to_return(:body => fixture("rails_admin-0.0.0.yaml"))
|
189
171
|
end
|
190
|
-
it "
|
172
|
+
it "returns the total number of downloads for the specified gem" do
|
191
173
|
downloads = Gems.total_downloads('rails_admin', '0.0.0')
|
192
|
-
a_get("/api/v1/downloads/rails_admin-0.0.0.yaml").
|
193
|
-
|
194
|
-
downloads[:
|
195
|
-
downloads[:total_downloads].should == 3142
|
174
|
+
expect(a_get("/api/v1/downloads/rails_admin-0.0.0.yaml")).to have_been_made
|
175
|
+
expect(downloads[:version_downloads]).to eq 3142
|
176
|
+
expect(downloads[:total_downloads]).to eq 3142
|
196
177
|
end
|
197
178
|
end
|
198
179
|
end
|
@@ -203,12 +184,11 @@ describe Gems::Client do
|
|
203
184
|
stub_get("/api/v1/downloads/top.yaml").
|
204
185
|
to_return(:body => fixture("most_downloaded_today.yaml"))
|
205
186
|
end
|
206
|
-
it "
|
187
|
+
it "returns the most downloaded versions today" do
|
207
188
|
most_downloaded = Gems.most_downloaded_today
|
208
|
-
a_get("/api/v1/downloads/top.yaml").
|
209
|
-
|
210
|
-
most_downloaded.first.
|
211
|
-
most_downloaded.first.last.should == 9801
|
189
|
+
expect(a_get("/api/v1/downloads/top.yaml")).to have_been_made
|
190
|
+
expect(most_downloaded.first.first['full_name']).to eq "rake-0.9.2.2"
|
191
|
+
expect(most_downloaded.first.last).to eq 9801
|
212
192
|
end
|
213
193
|
end
|
214
194
|
end
|
@@ -219,12 +199,11 @@ describe Gems::Client do
|
|
219
199
|
stub_get("/api/v1/downloads/all.yaml").
|
220
200
|
to_return(:body => fixture("most_downloaded.yaml"))
|
221
201
|
end
|
222
|
-
it "
|
202
|
+
it "returns the most downloaded versions" do
|
223
203
|
most_downloaded = Gems.most_downloaded
|
224
|
-
a_get("/api/v1/downloads/all.yaml").
|
225
|
-
|
226
|
-
most_downloaded.first.
|
227
|
-
most_downloaded.first.last.should == 1
|
204
|
+
expect(a_get("/api/v1/downloads/all.yaml")).to have_been_made
|
205
|
+
expect(most_downloaded.first.first['full_name']).to eq "abstract-1.0.0"
|
206
|
+
expect(most_downloaded.first.last).to eq 1
|
228
207
|
end
|
229
208
|
end
|
230
209
|
end
|
@@ -237,13 +216,11 @@ describe Gems::Client do
|
|
237
216
|
stub_get("/api/v1/versions/coulda-3.0.9/downloads.yaml").
|
238
217
|
to_return(:body => fixture("downloads.yaml"))
|
239
218
|
end
|
240
|
-
it "
|
219
|
+
it "returns the number of downloads by day for a particular gem version" do
|
241
220
|
downloads = Gems.downloads 'coulda'
|
242
|
-
a_get("/api/v1/gems/coulda.yaml").
|
243
|
-
|
244
|
-
|
245
|
-
should have_been_made
|
246
|
-
downloads['2011-06-22'].should == 8
|
221
|
+
expect(a_get("/api/v1/gems/coulda.yaml")).to have_been_made
|
222
|
+
expect(a_get("/api/v1/versions/coulda-3.0.9/downloads.yaml")).to have_been_made
|
223
|
+
expect(downloads['2011-06-22']).to eq 8
|
247
224
|
end
|
248
225
|
end
|
249
226
|
context "with no dates specified" do
|
@@ -251,11 +228,10 @@ describe Gems::Client do
|
|
251
228
|
stub_get("/api/v1/versions/coulda-0.6.3/downloads.yaml").
|
252
229
|
to_return(:body => fixture("downloads.yaml"))
|
253
230
|
end
|
254
|
-
it "
|
231
|
+
it "returns the number of downloads by day for a particular gem version" do
|
255
232
|
downloads = Gems.downloads 'coulda', '0.6.3'
|
256
|
-
a_get("/api/v1/versions/coulda-0.6.3/downloads.yaml").
|
257
|
-
|
258
|
-
downloads['2011-06-22'].should == 8
|
233
|
+
expect(a_get("/api/v1/versions/coulda-0.6.3/downloads.yaml")).to have_been_made
|
234
|
+
expect(downloads['2011-06-22']).to eq 8
|
259
235
|
end
|
260
236
|
end
|
261
237
|
context "with from date specified" do
|
@@ -264,12 +240,10 @@ describe Gems::Client do
|
|
264
240
|
with(:query => {"from" => "2011-01-01", "to" => Date.today.to_s}).
|
265
241
|
to_return(:body => fixture("downloads.yaml"))
|
266
242
|
end
|
267
|
-
it "
|
243
|
+
it "returns the number of downloads by day for a particular gem version" do
|
268
244
|
downloads = Gems.downloads 'coulda', '0.6.3', Date.parse('2011-01-01')
|
269
|
-
a_get("/api/v1/versions/coulda-0.6.3/downloads/search.yaml").
|
270
|
-
|
271
|
-
should have_been_made
|
272
|
-
downloads['2011-06-22'].should == 8
|
245
|
+
expect(a_get("/api/v1/versions/coulda-0.6.3/downloads/search.yaml").with(:query => {"from" => "2011-01-01", "to" => Date.today.to_s})).to have_been_made
|
246
|
+
expect(downloads['2011-06-22']).to eq 8
|
273
247
|
end
|
274
248
|
end
|
275
249
|
context "with from and to dates specified" do
|
@@ -278,12 +252,10 @@ describe Gems::Client do
|
|
278
252
|
with(:query => {"from" => "2011-01-01", "to" => "2011-06-28"}).
|
279
253
|
to_return(:body => fixture("downloads.yaml"))
|
280
254
|
end
|
281
|
-
it "
|
255
|
+
it "returns the number of downloads by day for a particular gem version" do
|
282
256
|
downloads = Gems.downloads 'coulda', '0.6.3', Date.parse('2011-01-01'), Date.parse('2011-06-28')
|
283
|
-
a_get("/api/v1/versions/coulda-0.6.3/downloads/search.yaml").
|
284
|
-
|
285
|
-
should have_been_made
|
286
|
-
downloads['2011-06-22'].should == 8
|
257
|
+
expect(a_get("/api/v1/versions/coulda-0.6.3/downloads/search.yaml").with(:query => {"from" => "2011-01-01", "to" => "2011-06-28"})).to have_been_made
|
258
|
+
expect(downloads['2011-06-22']).to eq 8
|
287
259
|
end
|
288
260
|
end
|
289
261
|
end
|
@@ -293,11 +265,10 @@ describe Gems::Client do
|
|
293
265
|
stub_get("/api/v1/gems/gems/owners.yaml").
|
294
266
|
to_return(:body => fixture("owners.yaml"))
|
295
267
|
end
|
296
|
-
it "
|
268
|
+
it "lists all owners of a gem" do
|
297
269
|
owners = Gems.owners("gems")
|
298
|
-
a_get("/api/v1/gems/gems/owners.yaml").
|
299
|
-
|
300
|
-
owners.first['email'].should == "sferik@gmail.com"
|
270
|
+
expect(a_get("/api/v1/gems/gems/owners.yaml")).to have_been_made
|
271
|
+
expect(owners.first['email']).to eq "sferik@gmail.com"
|
301
272
|
end
|
302
273
|
end
|
303
274
|
|
@@ -307,12 +278,10 @@ describe Gems::Client do
|
|
307
278
|
with(:body => {:email => "sferik@gmail.com"}).
|
308
279
|
to_return(:body => fixture("add_owner"))
|
309
280
|
end
|
310
|
-
it "
|
281
|
+
it "adds an owner to a RubyGem" do
|
311
282
|
owner = Gems.add_owner("gems", "sferik@gmail.com")
|
312
|
-
a_post("/api/v1/gems/gems/owners").
|
313
|
-
|
314
|
-
should have_been_made
|
315
|
-
owner.should == "Owner added successfully."
|
283
|
+
expect(a_post("/api/v1/gems/gems/owners").with(:body => {:email => "sferik@gmail.com"})).to have_been_made
|
284
|
+
expect(owner).to eq "Owner added successfully."
|
316
285
|
end
|
317
286
|
end
|
318
287
|
|
@@ -322,12 +291,10 @@ describe Gems::Client do
|
|
322
291
|
with(:query => {:email => "sferik@gmail.com"}).
|
323
292
|
to_return(:body => fixture("remove_owner"))
|
324
293
|
end
|
325
|
-
it "
|
294
|
+
it "removes an owner from a RubyGem" do
|
326
295
|
owner = Gems.remove_owner("gems", "sferik@gmail.com")
|
327
|
-
a_delete("/api/v1/gems/gems/owners").
|
328
|
-
|
329
|
-
should have_been_made
|
330
|
-
owner.should == "Owner removed successfully."
|
296
|
+
expect(a_delete("/api/v1/gems/gems/owners").with(:query => {:email => "sferik@gmail.com"})).to have_been_made
|
297
|
+
expect(owner).to eq "Owner removed successfully."
|
331
298
|
end
|
332
299
|
end
|
333
300
|
|
@@ -336,11 +303,10 @@ describe Gems::Client do
|
|
336
303
|
stub_get("/api/v1/web_hooks.yaml").
|
337
304
|
to_return(:body => fixture("web_hooks.yaml"))
|
338
305
|
end
|
339
|
-
it "
|
306
|
+
it "lists the web hooks registered under your account" do
|
340
307
|
web_hooks = Gems.web_hooks
|
341
|
-
a_get("/api/v1/web_hooks.yaml").
|
342
|
-
|
343
|
-
web_hooks['all gems'].first['url'].should == "http://example.com"
|
308
|
+
expect(a_get("/api/v1/web_hooks.yaml")).to have_been_made
|
309
|
+
expect(web_hooks['all gems'].first['url']).to eq "http://example.com"
|
344
310
|
end
|
345
311
|
end
|
346
312
|
|
@@ -350,12 +316,10 @@ describe Gems::Client do
|
|
350
316
|
with(:body => {:gem_name => "*", :url => "http://example.com"}).
|
351
317
|
to_return(:body => fixture("add_web_hook"))
|
352
318
|
end
|
353
|
-
it "
|
319
|
+
it "adds a web hook" do
|
354
320
|
add_web_hook = Gems.add_web_hook("*", "http://example.com")
|
355
|
-
a_post("/api/v1/web_hooks").
|
356
|
-
|
357
|
-
should have_been_made
|
358
|
-
add_web_hook.should == "Successfully created webhook for all gems to http://example.com"
|
321
|
+
expect(a_post("/api/v1/web_hooks").with(:body => {:gem_name => "*", :url => "http://example.com"})).to have_been_made
|
322
|
+
expect(add_web_hook).to eq "Successfully created webhook for all gems to http://example.com"
|
359
323
|
end
|
360
324
|
end
|
361
325
|
|
@@ -365,12 +329,10 @@ describe Gems::Client do
|
|
365
329
|
with(:query => {:gem_name => "*", :url => "http://example.com"}).
|
366
330
|
to_return(:body => fixture("remove_web_hook"))
|
367
331
|
end
|
368
|
-
it "
|
332
|
+
it "removes a web hook" do
|
369
333
|
remove_web_hook = Gems.remove_web_hook("*", "http://example.com")
|
370
|
-
a_delete("/api/v1/web_hooks/remove").
|
371
|
-
|
372
|
-
should have_been_made
|
373
|
-
remove_web_hook.should == "Successfully removed webhook for all gems to http://example.com"
|
334
|
+
expect(a_delete("/api/v1/web_hooks/remove").with(:query => {:gem_name => "*", :url => "http://example.com"})).to have_been_made
|
335
|
+
expect(remove_web_hook).to eq "Successfully removed webhook for all gems to http://example.com"
|
374
336
|
end
|
375
337
|
end
|
376
338
|
|
@@ -380,12 +342,10 @@ describe Gems::Client do
|
|
380
342
|
with(:body => {:gem_name => "*", :url => "http://example.com"}).
|
381
343
|
to_return(:body => fixture("fire_web_hook"))
|
382
344
|
end
|
383
|
-
it "
|
345
|
+
it "fires a web hook" do
|
384
346
|
fire_web_hook = Gems.fire_web_hook("*", "http://example.com")
|
385
|
-
a_post("/api/v1/web_hooks/fire").
|
386
|
-
|
387
|
-
should have_been_made
|
388
|
-
fire_web_hook.should == "Successfully deployed webhook for gemcutter to http://example.com"
|
347
|
+
expect(a_post("/api/v1/web_hooks/fire").with(:body => {:gem_name => "*", :url => "http://example.com"})).to have_been_made
|
348
|
+
expect(fire_web_hook).to eq "Successfully deployed webhook for gemcutter to http://example.com"
|
389
349
|
end
|
390
350
|
end
|
391
351
|
|
@@ -394,11 +354,10 @@ describe Gems::Client do
|
|
394
354
|
stub_get("/api/v1/activity/latest.yaml").
|
395
355
|
to_return(:body => fixture("latest.yaml"))
|
396
356
|
end
|
397
|
-
it "
|
357
|
+
it "returns some basic information about the given gem" do
|
398
358
|
latest = Gems.latest
|
399
|
-
a_get("/api/v1/activity/latest.yaml").
|
400
|
-
|
401
|
-
latest.first['name'].should == 'seanwalbran-rpm_contrib'
|
359
|
+
expect(a_get("/api/v1/activity/latest.yaml")).to have_been_made
|
360
|
+
expect(latest.first['name']).to eq 'seanwalbran-rpm_contrib'
|
402
361
|
end
|
403
362
|
end
|
404
363
|
|
@@ -407,11 +366,10 @@ describe Gems::Client do
|
|
407
366
|
stub_get("/api/v1/activity/just_updated.yaml").
|
408
367
|
to_return(:body => fixture("just_updated.yaml"))
|
409
368
|
end
|
410
|
-
it "
|
369
|
+
it "returns some basic information about the given gem" do
|
411
370
|
just_updated = Gems.just_updated
|
412
|
-
a_get("/api/v1/activity/just_updated.yaml").
|
413
|
-
|
414
|
-
just_updated.first['name'].should == 'rspec-tag_matchers'
|
371
|
+
expect(a_get("/api/v1/activity/just_updated.yaml")).to have_been_made
|
372
|
+
expect(just_updated.first['name']).to eq 'rspec-tag_matchers'
|
415
373
|
end
|
416
374
|
end
|
417
375
|
|
@@ -424,11 +382,10 @@ describe Gems::Client do
|
|
424
382
|
stub_get("https://nick%40gemcutter.org:schwwwwing@rubygems.org/api/v1/api_key").
|
425
383
|
to_return(:body => fixture("api_key"))
|
426
384
|
end
|
427
|
-
it "
|
385
|
+
it "retrieves an API key" do
|
428
386
|
api_key = Gems.api_key
|
429
|
-
a_get("https://nick%40gemcutter.org:schwwwwing@rubygems.org/api/v1/api_key").
|
430
|
-
|
431
|
-
api_key.should == "701243f217cdf23b1370c7b66b65ca97"
|
387
|
+
expect(a_get("https://nick%40gemcutter.org:schwwwwing@rubygems.org/api/v1/api_key")).to have_been_made
|
388
|
+
expect(api_key).to eq "701243f217cdf23b1370c7b66b65ca97"
|
432
389
|
end
|
433
390
|
end
|
434
391
|
|
@@ -438,12 +395,10 @@ describe Gems::Client do
|
|
438
395
|
with(:query => {"gems" => "rails,thor"}).
|
439
396
|
to_return(:body => fixture("dependencies"))
|
440
397
|
end
|
441
|
-
it "
|
398
|
+
it "returns an array of hashes for all versions of given gems" do
|
442
399
|
dependencies = Gems.dependencies 'rails', 'thor'
|
443
|
-
a_get("/api/v1/dependencies").
|
444
|
-
|
445
|
-
should have_been_made
|
446
|
-
dependencies.first[:number].should == "3.0.9"
|
400
|
+
expect(a_get("/api/v1/dependencies").with(:query => {"gems" => "rails,thor"})).to have_been_made
|
401
|
+
expect(dependencies.first[:number]).to eq "3.0.9"
|
447
402
|
end
|
448
403
|
end
|
449
404
|
|
data/spec/gems_spec.rb
CHANGED
@@ -11,60 +11,60 @@ describe Gems do
|
|
11
11
|
to_return(:body => fixture("rails.yaml"))
|
12
12
|
end
|
13
13
|
|
14
|
-
it "
|
14
|
+
it "gets the correct resource" do
|
15
15
|
Gems.info('rails')
|
16
|
-
a_get("/api/v1/gems/rails.yaml").
|
16
|
+
expect(a_get("/api/v1/gems/rails.yaml")).to have_been_made
|
17
17
|
end
|
18
18
|
|
19
|
-
it "
|
20
|
-
Gems.info('rails').
|
19
|
+
it "returns the same results as a client" do
|
20
|
+
expect(Gems.info('rails')).to eq Gems::Client.new.info('rails')
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
describe '.respond_to?' do
|
25
|
-
it
|
26
|
-
Gems.respond_to?(:new, true).
|
25
|
+
it "takes an optional argument" do
|
26
|
+
expect(Gems.respond_to?(:new, true)).to be_true
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
describe ".new" do
|
31
|
-
it "
|
32
|
-
Gems.new.
|
31
|
+
it "returns a Gems::Client" do
|
32
|
+
expect(Gems.new).to be_a Gems::Client
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
36
|
describe ".host" do
|
37
|
-
it "
|
38
|
-
Gems.host.
|
37
|
+
it "returns the default host" do
|
38
|
+
expect(Gems.host).to eq Gems::Configuration::DEFAULT_HOST
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
42
|
describe ".host=" do
|
43
|
-
it "
|
43
|
+
it "sets the host" do
|
44
44
|
Gems.host = 'http://localhost:3000'
|
45
|
-
Gems.host.
|
45
|
+
expect(Gems.host).to eq 'http://localhost:3000'
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
49
|
describe ".user_agent" do
|
50
|
-
it "
|
51
|
-
Gems.user_agent.
|
50
|
+
it "returns the default user agent" do
|
51
|
+
expect(Gems.user_agent).to eq Gems::Configuration::DEFAULT_USER_AGENT
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
55
|
describe ".user_agent=" do
|
56
|
-
it "
|
56
|
+
it "sets the user agent" do
|
57
57
|
Gems.user_agent = 'Custom User Agent'
|
58
|
-
Gems.user_agent.
|
58
|
+
expect(Gems.user_agent).to eq 'Custom User Agent'
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
62
|
describe ".configure" do
|
63
63
|
Gems::Configuration::VALID_OPTIONS_KEYS.each do |key|
|
64
|
-
it "
|
64
|
+
it "sets the #{key}" do
|
65
65
|
Gems.configure do |config|
|
66
66
|
config.send("#{key}=", key)
|
67
|
-
Gems.send(key).
|
67
|
+
expect(Gems.send(key)).to eq key
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|
data/spec/helper.rb
CHANGED
metadata
CHANGED
@@ -1,112 +1,59 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gems
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.0
|
5
4
|
prerelease:
|
5
|
+
version: 0.7.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Erik Michaels-Ober
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
|
11
|
+
cert_chain:
|
12
|
+
- !binary |-
|
13
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMakNDQWhhZ0F3SUJB
|
14
|
+
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE5TVE4d0RRWURWUVFEREFaelpt
|
15
|
+
VnkKYVdzeEZUQVRCZ29Ka2lhSmsvSXNaQUVaRmdWbmJXRnBiREVUTUJFR0Nn
|
16
|
+
bVNKb21UOGl4a0FSa1dBMk52YlRBZQpGdzB4TXpBeU1ETXhNREF5TWpkYUZ3
|
17
|
+
MHhOREF5TURNeE1EQXlNamRhTUQweER6QU5CZ05WQkFNTUJuTm1aWEpwCmF6
|
18
|
+
RVZNQk1HQ2dtU0pvbVQ4aXhrQVJrV0JXZHRZV2xzTVJNd0VRWUtDWkltaVpQ
|
19
|
+
eUxHUUJHUllEWTI5dE1JSUIKSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4
|
20
|
+
QU1JSUJDZ0tDQVFFQWwweDVkeDh1S3hpN1Rrckl1eUJVVEpWQgp2MW85M25V
|
21
|
+
QjlqL3k0TTk2Z1Yycll3QWNpMUpQQnNlTmQ2RnliempvM1lHdUhsN0VRSHVT
|
22
|
+
SE5hZjFwMmx4ZXcvCnk2MEpYSUpCQmdQY0RLL0tDUDROVUhvZm0wamZvWUQr
|
23
|
+
SDV1TkpmSENOcTcvWnNUeE90RTNSYTkyczBCQ01UcG0Kd0JNTWxXUjVNdGRF
|
24
|
+
aElZdUJPNFhobmVqWWdIMEwvN0JMMmx5bW50Vm5zci9hZ2RRb29qUUNOMUlR
|
25
|
+
bXNSSnZyUgpkdVpSTzN0WnZvSW8xcEJjNEpFZWhEdXFDZXlCZ1BMT3FNb0t0
|
26
|
+
UWxvbGQxVFFzMWtXVUJLN0tXTUZFaEtDL0tnCnp5ektSSFFvOXlEWXdPdllu
|
27
|
+
Z29CTFkrVC9sd0NUNGR5c3NkaHpSYmZueEFoYUt1NFNBc3NJd2FDMDF5Vm93
|
28
|
+
SUQKQVFBQm96a3dOekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJTMHJ1
|
29
|
+
RGZSYWs1Y2kxT3BETlgvWmRERWtJcwppVEFMQmdOVkhROEVCQU1DQkxBd0RR
|
30
|
+
WUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFISFNNcy9NUDBzT2FMa0V2NEpvCnp2
|
31
|
+
a20zcW41QTZ0MHZhSHg3NzRjbWVqeU1VKzV3eVN4UmV6c3BMN1VMaDlOZXVL
|
32
|
+
Mk9oVStPZTNUcHFyQWc1VEsKUjhHUUlMblZ1MkZlbUdBNnNBa1BEbGNQdGdB
|
33
|
+
NmllSTE5UFpPRjZIVkxtYy9JRC9kUC9OZ1pXV3pFZXFRS21jSwoyK0hNK1NF
|
34
|
+
RURoWmtTY1lla3c0Wk9lMTY0WnRaRzgxNm9BdjV4MHBHaXRTSWt1bVVwN1Y4
|
35
|
+
aUVaLzZlaHI3WTllClhPZzRlZXVuNUwvSmptakFSb1cya05kdmtSRDNjMkVl
|
36
|
+
U0xxV3ZRUnNCbHlwSGZoczZKSnVMbHlaUEdoVTNSL3YKU2YzbFZLcEJDV2dS
|
37
|
+
cEdUdnk0NVhWcEIrNTl5MzNQSm1FdVExUFRFT1l2UXlhbzlVS01BQWFBTi83
|
38
|
+
cVdRdGpsMApobHc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
39
|
+
date: 2013-02-08 00:00:00.000000000 Z
|
13
40
|
dependencies:
|
14
41
|
- !ruby/object:Gem::Dependency
|
15
|
-
name: maruku
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :development
|
23
42
|
prerelease: false
|
24
43
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
44
|
requirements:
|
27
|
-
- -
|
45
|
+
- - ~>
|
28
46
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: rake
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
47
|
+
version: '1.0'
|
33
48
|
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
49
|
type: :development
|
39
|
-
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: rspec
|
50
|
+
name: bundler
|
48
51
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
52
|
requirements:
|
59
|
-
- -
|
53
|
+
- - ~>
|
60
54
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: simplecov
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
55
|
+
version: '1.0'
|
73
56
|
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: webmock
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: yard
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
57
|
description: Ruby wrapper for the RubyGems.org API
|
111
58
|
email:
|
112
59
|
- sferik@gmail.com
|
@@ -114,21 +61,17 @@ executables: []
|
|
114
61
|
extensions: []
|
115
62
|
extra_rdoc_files: []
|
116
63
|
files:
|
117
|
-
- .gemtest
|
118
|
-
- .gitignore
|
119
|
-
- .rspec
|
120
|
-
- .travis.yml
|
121
64
|
- .yardopts
|
122
|
-
-
|
65
|
+
- CONTRIBUTING.md
|
123
66
|
- LICENSE.md
|
124
67
|
- README.md
|
125
68
|
- Rakefile
|
126
69
|
- gems.gemspec
|
127
|
-
- lib/gems.rb
|
128
70
|
- lib/gems/client.rb
|
129
71
|
- lib/gems/configuration.rb
|
130
72
|
- lib/gems/request.rb
|
131
73
|
- lib/gems/version.rb
|
74
|
+
- lib/gems.rb
|
132
75
|
- spec/fixtures/add_owner
|
133
76
|
- spec/fixtures/add_web_hook
|
134
77
|
- spec/fixtures/api_key
|
@@ -157,26 +100,27 @@ files:
|
|
157
100
|
- spec/gems_spec.rb
|
158
101
|
- spec/helper.rb
|
159
102
|
homepage: https://github.com/rubygems/gems
|
160
|
-
licenses:
|
103
|
+
licenses:
|
104
|
+
- MIT
|
161
105
|
post_install_message:
|
162
106
|
rdoc_options: []
|
163
107
|
require_paths:
|
164
108
|
- lib
|
165
109
|
required_ruby_version: !ruby/object:Gem::Requirement
|
166
|
-
none: false
|
167
110
|
requirements:
|
168
111
|
- - ! '>='
|
169
112
|
- !ruby/object:Gem::Version
|
170
113
|
version: '0'
|
171
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
114
|
none: false
|
115
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
116
|
requirements:
|
174
117
|
- - ! '>='
|
175
118
|
- !ruby/object:Gem::Version
|
176
119
|
version: '0'
|
120
|
+
none: false
|
177
121
|
requirements: []
|
178
122
|
rubyforge_project:
|
179
|
-
rubygems_version: 1.8.
|
123
|
+
rubygems_version: 1.8.25
|
180
124
|
signing_key:
|
181
125
|
specification_version: 3
|
182
126
|
summary: Ruby wrapper for the RubyGems.org API
|
metadata.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
KS��3�N*k=�SM~U�v�*�xvese����k��퇹>���N�Q��, ?�����Q(N���|��s�9�{/JS�^`nC�|D��\��-�e4
|
data/.gemtest
DELETED
File without changes
|
data/.gitignore
DELETED
data/.rspec
DELETED
data/.travis.yml
DELETED