gems 0.5.0 → 0.5.1
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.
- data/.rspec +1 -2
- data/.travis.yml +1 -2
- data/Gemfile +1 -1
- data/README.md +26 -18
- data/lib/gems/client.rb +11 -0
- data/lib/gems/configuration.rb +3 -3
- data/lib/gems/version.rb +1 -1
- data/spec/fixtures/most_downloaded.yaml +20 -0
- data/spec/gems/client_spec.rb +19 -1
- data/spec/gems_spec.rb +5 -1
- data/spec/helper.rb +0 -2
- metadata +66 -107
data/.rspec
CHANGED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
# Gems
|
1
|
+
# Gems [][travis] [][gemnasium]
|
2
2
|
Ruby wrapper for the RubyGems.org API.
|
3
3
|
|
4
|
-
|
4
|
+
[travis]: http://travis-ci.org/rubygems/gems
|
5
|
+
[gemnasium]: https://gemnasium.com/rubygems/gems
|
6
|
+
|
7
|
+
## <a name="installation"></a>Installation
|
5
8
|
gem install gems
|
6
9
|
|
7
|
-
## <a name="documentation">Documentation
|
10
|
+
## <a name="documentation"></a>Documentation
|
8
11
|
[http://rdoc.info/gems/gems](http://rdoc.info/gems/gems)
|
9
12
|
|
10
|
-
|
11
|
-
[](http://travis-ci.org/rubygems/gems)
|
12
|
-
|
13
|
-
## <a name="examples">Usage Examples</a>
|
13
|
+
# <a name="examples"></a>Usage Examples
|
14
14
|
require 'rubygems'
|
15
15
|
require 'gems'
|
16
16
|
|
@@ -87,7 +87,7 @@ Ruby wrapper for the RubyGems.org API.
|
|
87
87
|
# Defaults to the latest version if no version is specified.
|
88
88
|
Gems.unyank 'bills', '0.0.1'
|
89
89
|
|
90
|
-
## <a name="contributing">Contributing
|
90
|
+
## <a name="contributing"></a>Contributing
|
91
91
|
In the spirit of [free software](http://www.fsf.org/licensing/essays/free-sw.html), **everyone** is encouraged to help improve this project.
|
92
92
|
|
93
93
|
Here are some ways *you* can contribute:
|
@@ -102,15 +102,15 @@ Here are some ways *you* can contribute:
|
|
102
102
|
* by closing [issues](https://github.com/rubygems/gems/issues)
|
103
103
|
* by reviewing patches
|
104
104
|
|
105
|
-
## <a name="issues">Submitting an Issue
|
105
|
+
## <a name="issues"></a>Submitting an Issue
|
106
106
|
We use the [GitHub issue tracker](https://github.com/rubygems/gems/issues) to track bugs and
|
107
107
|
features. Before submitting a bug report or feature request, check to make sure it hasn't already
|
108
|
-
been submitted. You can indicate support for an existing
|
108
|
+
been submitted. You can indicate support for an existing issue by voting it up. When submitting a
|
109
109
|
bug report, please include a [Gist](https://gist.github.com/) that includes a stack trace and any
|
110
110
|
details that may be necessary to reproduce the bug, including your gem version, Ruby version, and
|
111
111
|
operating system. Ideally, a bug report should include a pull request with failing specs.
|
112
112
|
|
113
|
-
## <a name="pulls">Submitting a Pull Request
|
113
|
+
## <a name="pulls"></a>Submitting a Pull Request
|
114
114
|
1. Fork the project.
|
115
115
|
2. Create a topic branch.
|
116
116
|
3. Implement your feature or bug fix.
|
@@ -121,13 +121,20 @@ operating system. Ideally, a bug report should include a pull request with faili
|
|
121
121
|
8. Commit and push your changes.
|
122
122
|
9. Submit a pull request. Please do not include changes to the gemspec, version, or history file. (If you want to create your own version for some reason, please do so in a separate commit.)
|
123
123
|
|
124
|
-
## <a name="
|
125
|
-
This library aims to support and is [tested
|
126
|
-
against](http://travis-ci.org/rubygems/gems) the following Ruby
|
124
|
+
## <a name="versions"></a>Supported Ruby Versions
|
125
|
+
This library aims to support and is [tested against][travis] the following Ruby
|
127
126
|
implementations:
|
128
127
|
|
129
|
-
* Ruby 1.
|
128
|
+
* Ruby 1.8.7
|
130
129
|
* Ruby 1.9.2
|
130
|
+
* Ruby 1.9.3
|
131
|
+
* [JRuby][]
|
132
|
+
* [Rubinius][]
|
133
|
+
* [Ruby Enterprise Edition][ree]
|
134
|
+
|
135
|
+
[jruby]: http://www.jruby.org/
|
136
|
+
[rubinius]: http://rubini.us/
|
137
|
+
[ree]: http://www.rubyenterpriseedition.com/)
|
131
138
|
|
132
139
|
If something doesn't work on one of these interpreters, it should be considered
|
133
140
|
a bug.
|
@@ -143,6 +150,7 @@ implementation, you will be personally responsible for providing patches in a
|
|
143
150
|
timely fashion. If critical issues for a particular implementation exist at the
|
144
151
|
time of a major release, support for that Ruby version may be dropped.
|
145
152
|
|
146
|
-
## <a name="copyright">Copyright
|
147
|
-
Copyright (c) 2011 Erik Michaels-Ober.
|
148
|
-
|
153
|
+
## <a name="copyright"></a>Copyright
|
154
|
+
Copyright (c) 2011 Erik Michaels-Ober. See [LICENSE][] for details.
|
155
|
+
|
156
|
+
[license]: https://github.com/rubygems/gems/blob/master/LICENSE.md
|
data/lib/gems/client.rb
CHANGED
@@ -69,6 +69,17 @@ module Gems
|
|
69
69
|
YAML.load(response)
|
70
70
|
end
|
71
71
|
|
72
|
+
# Returns an array of the most downloaded gem versions of all time
|
73
|
+
#
|
74
|
+
# @authenticated false
|
75
|
+
# @return [Hash]
|
76
|
+
# @example
|
77
|
+
# Gems.most_downloaded
|
78
|
+
def most_downloaded
|
79
|
+
response = get("/api/v1/downloads/all.yaml")
|
80
|
+
YAML.load(response)
|
81
|
+
end
|
82
|
+
|
72
83
|
# Returns the number of downloads by day for a particular gem version
|
73
84
|
#
|
74
85
|
# @authenticated false
|
data/lib/gems/configuration.rb
CHANGED
@@ -14,13 +14,13 @@ module Gems
|
|
14
14
|
]
|
15
15
|
|
16
16
|
# Set the default API endpoint
|
17
|
-
DEFAULT_HOST = ENV['RUBYGEMS_HOST'] ? ENV['RUBYGEMS_HOST']
|
17
|
+
DEFAULT_HOST = ENV['RUBYGEMS_HOST'] ? ENV['RUBYGEMS_HOST'] : "https://rubygems.org"
|
18
18
|
|
19
19
|
# Set the default credentials
|
20
|
-
DEFAULT_KEY = Gem.configuration.rubygems_api_key
|
20
|
+
DEFAULT_KEY = Gem.configuration.rubygems_api_key
|
21
21
|
|
22
22
|
# Set the default 'User-Agent' HTTP header
|
23
|
-
DEFAULT_USER_AGENT = "Gems #{Gems::VERSION}"
|
23
|
+
DEFAULT_USER_AGENT = "Gems #{Gems::VERSION}"
|
24
24
|
|
25
25
|
attr_accessor *VALID_OPTIONS_KEYS
|
26
26
|
|
data/lib/gems/version.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
:gems:
|
3
|
+
- - position: 0
|
4
|
+
number: 1.0.0
|
5
|
+
built_at: 2006-03-12 15:00:00 Z
|
6
|
+
created_at: 2011-09-16 23:01:28.426563 Z
|
7
|
+
updated_at: 2011-09-16 23:01:28.426563 Z
|
8
|
+
indexed: true
|
9
|
+
id: 86
|
10
|
+
prerelease: false
|
11
|
+
full_name: abstract-1.0.0
|
12
|
+
summary: a library which enable you to define abstract method in Ruby
|
13
|
+
description: "'abstract.rb' is a library which enable you to define abstract method in Ruby."
|
14
|
+
authors: makoto kuwata
|
15
|
+
rubygem_id: 86
|
16
|
+
rubyforge_project:
|
17
|
+
latest: true
|
18
|
+
downloads_count: 0
|
19
|
+
platform: ruby
|
20
|
+
- 1
|
data/spec/gems/client_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
describe Gems::Client do
|
4
|
-
|
4
|
+
after do
|
5
5
|
Gems.reset
|
6
6
|
end
|
7
7
|
|
@@ -100,6 +100,23 @@ describe Gems::Client do
|
|
100
100
|
|
101
101
|
end
|
102
102
|
|
103
|
+
describe ".most_downloaded" do
|
104
|
+
context "with nothing specified" do
|
105
|
+
before do
|
106
|
+
stub_get("/api/v1/downloads/all.yaml").
|
107
|
+
to_return(:body => fixture("most_downloaded.yaml"))
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should return the most downloaded versions" do
|
111
|
+
most_downloaded = Gems.most_downloaded
|
112
|
+
a_get("/api/v1/downloads/all.yaml").
|
113
|
+
should have_been_made
|
114
|
+
most_downloaded[:gems].first.first['full_name'].should == "abstract-1.0.0"
|
115
|
+
most_downloaded[:gems].first[1].should == 1
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
103
120
|
describe ".downloads" do
|
104
121
|
|
105
122
|
context "with no dates or version specified" do
|
@@ -408,4 +425,5 @@ describe Gems::Client do
|
|
408
425
|
end
|
409
426
|
end
|
410
427
|
end
|
428
|
+
|
411
429
|
end
|
data/spec/gems_spec.rb
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
describe Gems do
|
4
|
+
after do
|
5
|
+
Gems.reset
|
6
|
+
end
|
7
|
+
|
4
8
|
context "when delegating to a client" do
|
5
9
|
before do
|
6
10
|
stub_get("/api/v1/gems/rails.yaml").
|
7
11
|
to_return(:body => fixture("rails.yaml"))
|
8
|
-
Gems.reset
|
9
12
|
end
|
10
13
|
|
11
14
|
it "should get the correct resource" do
|
@@ -66,4 +69,5 @@ describe Gems do
|
|
66
69
|
end
|
67
70
|
end
|
68
71
|
end
|
72
|
+
|
69
73
|
end
|
data/spec/helper.rb
CHANGED
metadata
CHANGED
@@ -1,123 +1,89 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gems
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 5
|
9
|
-
- 0
|
10
|
-
version: 0.5.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Erik Michaels-Ober
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-01-30 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: rake
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70315609629300 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
18
|
+
requirements:
|
27
19
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 9
|
33
|
-
version: "0.9"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.9'
|
34
22
|
type: :development
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: rdiscount
|
38
23
|
prerelease: false
|
39
|
-
|
24
|
+
version_requirements: *70315609629300
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rdiscount
|
27
|
+
requirement: &70315609628800 !ruby/object:Gem::Requirement
|
40
28
|
none: false
|
41
|
-
requirements:
|
29
|
+
requirements:
|
42
30
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 1
|
47
|
-
- 6
|
48
|
-
version: "1.6"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.6'
|
49
33
|
type: :development
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: rspec
|
53
34
|
prerelease: false
|
54
|
-
|
35
|
+
version_requirements: *70315609628800
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &70315609628340 !ruby/object:Gem::Requirement
|
55
39
|
none: false
|
56
|
-
requirements:
|
40
|
+
requirements:
|
57
41
|
- - ~>
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
segments:
|
61
|
-
- 2
|
62
|
-
- 6
|
63
|
-
version: "2.6"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.6'
|
64
44
|
type: :development
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: simplecov
|
68
45
|
prerelease: false
|
69
|
-
|
46
|
+
version_requirements: *70315609628340
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: simplecov
|
49
|
+
requirement: &70315609627880 !ruby/object:Gem::Requirement
|
70
50
|
none: false
|
71
|
-
requirements:
|
51
|
+
requirements:
|
72
52
|
- - ~>
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
- 4
|
78
|
-
version: "0.4"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.4'
|
79
55
|
type: :development
|
80
|
-
version_requirements: *id004
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: webmock
|
83
56
|
prerelease: false
|
84
|
-
|
57
|
+
version_requirements: *70315609627880
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: webmock
|
60
|
+
requirement: &70315609627420 !ruby/object:Gem::Requirement
|
85
61
|
none: false
|
86
|
-
requirements:
|
62
|
+
requirements:
|
87
63
|
- - ~>
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
|
90
|
-
segments:
|
91
|
-
- 1
|
92
|
-
- 7
|
93
|
-
version: "1.7"
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '1.7'
|
94
66
|
type: :development
|
95
|
-
version_requirements: *id005
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: yard
|
98
67
|
prerelease: false
|
99
|
-
|
68
|
+
version_requirements: *70315609627420
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: yard
|
71
|
+
requirement: &70315609626960 !ruby/object:Gem::Requirement
|
100
72
|
none: false
|
101
|
-
requirements:
|
73
|
+
requirements:
|
102
74
|
- - ~>
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
|
105
|
-
segments:
|
106
|
-
- 0
|
107
|
-
- 7
|
108
|
-
version: "0.7"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0.7'
|
109
77
|
type: :development
|
110
|
-
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70315609626960
|
111
80
|
description: Ruby wrapper for the RubyGems.org API
|
112
|
-
email:
|
81
|
+
email:
|
113
82
|
- sferik@gmail.com
|
114
83
|
executables: []
|
115
|
-
|
116
84
|
extensions: []
|
117
|
-
|
118
85
|
extra_rdoc_files: []
|
119
|
-
|
120
|
-
files:
|
86
|
+
files:
|
121
87
|
- .gemtest
|
122
88
|
- .gitignore
|
123
89
|
- .rspec
|
@@ -141,6 +107,7 @@ files:
|
|
141
107
|
- spec/fixtures/fire_web_hook
|
142
108
|
- spec/fixtures/gems-0.0.8.gem
|
143
109
|
- spec/fixtures/gems.yaml
|
110
|
+
- spec/fixtures/most_downloaded.yaml
|
144
111
|
- spec/fixtures/owners.yaml
|
145
112
|
- spec/fixtures/push
|
146
113
|
- spec/fixtures/rails.yaml
|
@@ -156,41 +123,31 @@ files:
|
|
156
123
|
- spec/gems/client_spec.rb
|
157
124
|
- spec/gems_spec.rb
|
158
125
|
- spec/helper.rb
|
159
|
-
has_rdoc: true
|
160
126
|
homepage: https://github.com/rubygems/gems
|
161
127
|
licenses: []
|
162
|
-
|
163
128
|
post_install_message:
|
164
129
|
rdoc_options: []
|
165
|
-
|
166
|
-
require_paths:
|
130
|
+
require_paths:
|
167
131
|
- lib
|
168
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
169
133
|
none: false
|
170
|
-
requirements:
|
171
|
-
- -
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
|
174
|
-
|
175
|
-
- 0
|
176
|
-
version: "0"
|
177
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
139
|
none: false
|
179
|
-
requirements:
|
180
|
-
- -
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
|
183
|
-
segments:
|
184
|
-
- 0
|
185
|
-
version: "0"
|
140
|
+
requirements:
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
186
144
|
requirements: []
|
187
|
-
|
188
145
|
rubyforge_project:
|
189
|
-
rubygems_version: 1.
|
146
|
+
rubygems_version: 1.8.15
|
190
147
|
signing_key:
|
191
148
|
specification_version: 3
|
192
149
|
summary: Ruby wrapper for the RubyGems.org API
|
193
|
-
test_files:
|
150
|
+
test_files:
|
194
151
|
- spec/fixtures/add_owner
|
195
152
|
- spec/fixtures/add_web_hook
|
196
153
|
- spec/fixtures/api_key
|
@@ -199,6 +156,7 @@ test_files:
|
|
199
156
|
- spec/fixtures/fire_web_hook
|
200
157
|
- spec/fixtures/gems-0.0.8.gem
|
201
158
|
- spec/fixtures/gems.yaml
|
159
|
+
- spec/fixtures/most_downloaded.yaml
|
202
160
|
- spec/fixtures/owners.yaml
|
203
161
|
- spec/fixtures/push
|
204
162
|
- spec/fixtures/rails.yaml
|
@@ -214,3 +172,4 @@ test_files:
|
|
214
172
|
- spec/gems/client_spec.rb
|
215
173
|
- spec/gems_spec.rb
|
216
174
|
- spec/helper.rb
|
175
|
+
has_rdoc:
|