gems 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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