gems 1.1.1 → 1.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0b6e8f7fc198ff910de35d76d32fe3f619b4d8862bea97c8631f9bd13bea08a
4
- data.tar.gz: 699dfb6ca8ae2d01ea9dde6650b82b0dfe0680b5228754a163575e2aff15eca8
3
+ metadata.gz: 02c5e963b447a717ad4bf7cef9c5d98ab6a540c7c3ef2cdbbe3ec6e9d1f09c68
4
+ data.tar.gz: 122754039ef6aaf6534d6d91d792bc591b5327da291f3de4008f885aa512764b
5
5
  SHA512:
6
- metadata.gz: 9f7dccd4e9c4055379e5232538d9ad1114f511b50fc47e4ec7bb77ca346a5518610be7907c966293cc6aadff3b0c2d616565aa069cb12d039d80e571c9393a3e
7
- data.tar.gz: 65d244e890aecc8d7ea40e48a2f731e953942a2295fc112bccde3a7cbb1b3aa21d25e698c8ae9deed87268223043659c81c857f6390b9c19fa30ca5fb4c8e396
6
+ metadata.gz: 68751cd2ce45302f60d3e54af001956c114bb669cbff05423693f8b94b6678767b5ffaf09ecc37dff3896d30d82fcbdc59169584ae02e7e3d080551ba1cdb1fc
7
+ data.tar.gz: 351cc6f232083db5e0a1eca73a2196974ae24fcad849222ff26c04ef2a4ec7e35572e55fb9484a953e426b6d030b64e12c045c06be0a40b0a546a370416c587d
@@ -18,7 +18,4 @@ Gem::Specification.new do |spec|
18
18
  spec.licenses = %w[MIT]
19
19
  spec.require_paths = %w[lib]
20
20
  spec.required_ruby_version = '>= 2.1.9'
21
-
22
- spec.add_dependency 'json'
23
- spec.add_development_dependency 'bundler', '~> 1.0'
24
21
  end
@@ -33,11 +33,13 @@ module Gems
33
33
  #
34
34
  # @authenticated false
35
35
  # @param query [String] A term to search for.
36
+ # @param options [Hash] A customizable set of options.
37
+ # @option options [Integer] :page
36
38
  # @return [Array<Hash>]
37
39
  # @example
38
40
  # Gems.search 'cucumber'
39
- def search(query)
40
- response = get('/api/v1/search.json', :query => query)
41
+ def search(query, options = {})
42
+ response = get('/api/v1/search.json', options.merge(:query => query))
41
43
  JSON.parse(response)
42
44
  end
43
45
 
@@ -209,7 +211,7 @@ module Gems
209
211
  # Create a webhook
210
212
  #
211
213
  # @authenticated true
212
- # @param gem_name [String] The name of a gem. Specify "*" to add the hook to all your gems.
214
+ # @param gem_name [String] The name of a gem. Specify "*" to add the hook to all gems.
213
215
  # @param url [String] The URL of the web hook.
214
216
  # @return [String]
215
217
  # @example
@@ -221,7 +223,7 @@ module Gems
221
223
  # Remove a webhook
222
224
  #
223
225
  # @authenticated true
224
- # @param gem_name [String] The name of a gem. Specify "*" to remove the hook from all your gems.
226
+ # @param gem_name [String] The name of a gem. Specify "*" to remove the hook from all gems.
225
227
  # @param url [String] The URL of the web hook.
226
228
  # @return [String]
227
229
  # @example
@@ -233,7 +235,7 @@ module Gems
233
235
  # Test fire a webhook
234
236
  #
235
237
  # @authenticated true
236
- # @param gem_name [String] The name of a gem. Specify "*" to fire the hook for all your gems.
238
+ # @param gem_name [String] The name of a gem. Specify "*" to fire the hook for all gems.
237
239
  # @param url [String] The URL of the web hook.
238
240
  # @return [String]
239
241
  # @example
@@ -0,0 +1,4 @@
1
+ module Gems
2
+ class GemError < StandardError; end
3
+ class NotFound < GemError; end
4
+ end
@@ -1,6 +1,7 @@
1
1
  require 'net/http'
2
2
  require 'rubygems'
3
3
  require 'open-uri'
4
+ require 'gems/errors'
4
5
 
5
6
  module Gems
6
7
  module Request
@@ -63,12 +64,17 @@ module Gems
63
64
  end
64
65
 
65
66
  def body_from_response(response, method, content_type)
66
- if response.is_a?(Net::HTTPRedirection)
67
+ case response
68
+ when Net::HTTPRedirection
67
69
  uri = URI.parse(response['location'])
68
70
  host_with_scheme = [uri.scheme, uri.host].join('://')
69
71
  request(method, uri.request_uri, {}, content_type, host_with_scheme)
70
- else
72
+ when Net::HTTPNotFound
73
+ raise Gems::NotFound.new(response.body)
74
+ when Net::HTTPSuccess
71
75
  response.body
76
+ else
77
+ raise Gems::GemError.new(response.body)
72
78
  end
73
79
  end
74
80
  end
@@ -1,8 +1,8 @@
1
1
  module Gems
2
2
  class Version
3
3
  MAJOR = 1 unless defined? Gems::Version::MAJOR
4
- MINOR = 1 unless defined? Gems::Version::MINOR
5
- PATCH = 1 unless defined? Gems::Version::PATCH
4
+ MINOR = 2 unless defined? Gems::Version::MINOR
5
+ PATCH = 0 unless defined? Gems::Version::PATCH
6
6
  PRE = nil unless defined? Gems::Version::PRE
7
7
 
8
8
  class << self
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gems
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Michaels-Ober
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-21 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: json
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.0'
11
+ date: 2019-09-26 00:00:00.000000000 Z
12
+ dependencies: []
41
13
  description: Ruby wrapper for the RubyGems.org API
42
14
  email:
43
15
  - sferik@gmail.com
@@ -53,6 +25,7 @@ files:
53
25
  - lib/gems.rb
54
26
  - lib/gems/client.rb
55
27
  - lib/gems/configuration.rb
28
+ - lib/gems/errors.rb
56
29
  - lib/gems/request.rb
57
30
  - lib/gems/version.rb
58
31
  homepage: https://github.com/rubygems/gems
@@ -74,8 +47,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
47
  - !ruby/object:Gem::Version
75
48
  version: '0'
76
49
  requirements: []
77
- rubyforge_project:
78
- rubygems_version: 2.7.6
50
+ rubygems_version: 3.0.3
79
51
  signing_key:
80
52
  specification_version: 4
81
53
  summary: Ruby wrapper for the RubyGems.org API