gems 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec CHANGED
@@ -1,3 +1,2 @@
1
1
  --color
2
- --format=nested
3
- --backtrace
2
+ --order random
data/.travis.yml CHANGED
@@ -1,9 +1,8 @@
1
+ before_install: "gem update --system 1.3.7"
1
2
  rvm:
2
3
  - 1.8.7
3
- - 1.9.1
4
4
  - 1.9.2
5
5
  - 1.9.3
6
6
  - jruby
7
7
  - rbx
8
- - rbx-2.0
9
8
  - ree
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
 
3
3
  platforms :jruby do
4
4
  gem 'jruby-openssl', '~> 0.7'
data/README.md CHANGED
@@ -1,16 +1,16 @@
1
- # Gems
1
+ # Gems [![Build Status](https://secure.travis-ci.org/rubygems/gems.png?branch=master)][travis] [![Dependency Status](https://gemnasium.com/rubygems/gems.png?travis)][gemnasium]
2
2
  Ruby wrapper for the RubyGems.org API.
3
3
 
4
- ## <a name="installation">Installation</a>
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</a>
10
+ ## <a name="documentation"></a>Documentation
8
11
  [http://rdoc.info/gems/gems](http://rdoc.info/gems/gems)
9
12
 
10
- ## <a name="ci">Continuous Integration</a>
11
- [![Build Status](https://secure.travis-ci.org/rubygems/gems.png)](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</a>
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</a>
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 issuse by voting it up. When submitting a
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</a>
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="rubies">Supported Rubies</a>
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.9.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</a>
147
- Copyright (c) 2011 Erik Michaels-Ober.
148
- See [LICENSE](https://github.com/rubygems/gems/blob/master/LICENSE.md) for details.
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
@@ -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'].freeze : Gem.host.freeze
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.freeze
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}".freeze
23
+ DEFAULT_USER_AGENT = "Gems #{Gems::VERSION}"
24
24
 
25
25
  attr_accessor *VALID_OPTIONS_KEYS
26
26
 
data/lib/gems/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gems
2
- VERSION = "0.5.0" unless defined? ::Gems::VERSION
2
+ VERSION = "0.5.1" unless defined? ::Gems::VERSION
3
3
  end
@@ -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
@@ -1,7 +1,7 @@
1
1
  require 'helper'
2
2
 
3
3
  describe Gems::Client do
4
- before do
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
@@ -1,5 +1,3 @@
1
- $:.unshift File.expand_path('..', __FILE__)
2
- $:.unshift File.expand_path('../../lib', __FILE__)
3
1
  require 'simplecov'
4
2
  SimpleCov.start
5
3
  require 'gems'
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
- hash: 11
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
- date: 2011-08-28 00:00:00 -07:00
19
- default_executable:
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
- prerelease: false
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
- hash: 25
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- hash: 3
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
- requirement: &id003 !ruby/object:Gem::Requirement
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
- hash: 15
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
- requirement: &id004 !ruby/object:Gem::Requirement
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
- hash: 3
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
- requirement: &id005 !ruby/object:Gem::Requirement
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
- hash: 1
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
- requirement: &id006 !ruby/object:Gem::Requirement
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
- hash: 5
105
- segments:
106
- - 0
107
- - 7
108
- version: "0.7"
75
+ - !ruby/object:Gem::Version
76
+ version: '0.7'
109
77
  type: :development
110
- version_requirements: *id006
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
- hash: 3
174
- segments:
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
- hash: 3
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.6.2
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: