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