fountain 0.0.20 → 0.0.22

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: 4afc1087ee4684b2b55340e60b65a73b3ea23060411d604a278918418d434ee4
4
- data.tar.gz: f8f4f231d255a442e6dcf35fe36ee94272047365490467d866db28611b04e64b
3
+ metadata.gz: 1086da5daee96536a4d5ddb5c07fc6ee311577cdf64894c8ff8518f645912745
4
+ data.tar.gz: 275aaf41ff961a1874d7b405567d29b0043d975e9ebee56ee2cd6189863d5ae8
5
5
  SHA512:
6
- metadata.gz: c7ff7506d65ef67acde85b2b08ef5a4fc5fe4c3db1b281119cf7ccef551bff0413cdf760fb8d9d83dfe626ae520c5383a6de9bce6e2b152748654b3d059d1a37
7
- data.tar.gz: d5f1f8e7fd32259c32be43738dc42a836ee0660e1ecd77a7a560bd53f2720160ba6409e449a823f10787db42f683e521d012309558377eccf3576de0daaa2b1a
6
+ metadata.gz: 26e7be13d641be07d7e897eca7b100246ed3a1fd742acee423a55622f8443741bfb4cda1bb090dca5d1876824e35acd07a473600a5fce20074bff7a55555b981
7
+ data.tar.gz: 6602bb745aff563204cfa45102983505acdfd404ac83cb6543b55ef5d821f71eb83c1cc6b18d102fc1f666819de0c074b6b20803cfea481c401f91afc40ed1ba
@@ -11,7 +11,7 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
13
  matrix:
14
- ruby-version: ['3.0', '3.1', '3.2', '3.3']
14
+ ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4']
15
15
 
16
16
  steps:
17
17
  - uses: actions/checkout@v2
data/.rubocop.yml CHANGED
@@ -23,3 +23,6 @@ RSpec/ExampleLength:
23
23
 
24
24
  RSpec/MultipleExpectations:
25
25
  Max: 5
26
+
27
+ RSpec/NestedGroups:
28
+ Max: 4
data/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  ## Unreleased
4
4
  - None
5
5
 
6
+ ## [0.0.22](releases/tag/v0.0.22) - 2025-01-14
7
+ ### Added
8
+ - [#13] Add Ruby support for v3.4 ([@abrom][])
9
+
10
+ ## [0.0.21](releases/tag/v0.0.21) - 2024-08-02
11
+ ### Added
12
+ - [#12] Add Fountain::UnexpectedHTTPError to provide more error context ([@abrom][])
13
+
6
14
  ## [0.0.20](releases/tag/v0.0.20) - 2024-04-30
7
15
  ### Added
8
16
  - [#11] Fix query parameter bug in Applicants#advance_applicants ([@abrom][])
data/Gemfile CHANGED
@@ -7,8 +7,8 @@ gemspec
7
7
 
8
8
  gem 'rake', '~> 12.3', '>= 12.3.3'
9
9
  gem 'rspec', '~> 3.0'
10
- gem 'rubocop', '~> 1.21'
10
+ gem 'rubocop', '~> 1.70'
11
11
  gem 'rubocop-rake', '~> 0.6'
12
- gem 'rubocop-rspec', '~> 2.5'
12
+ gem 'rubocop-rspec', '~> 3.3'
13
13
  gem 'simplecov', '~> 0.16', '< 0.18'
14
- gem 'webmock', '~> 2.3'
14
+ gem 'webmock', '~> 3.24'
data/fountain.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.description = 'Fountain REST API v2 wrapper for Ruby'
16
16
  spec.homepage = 'https://github.com/Studiosity/fountain-ruby'
17
17
  spec.license = 'MIT'
18
- spec.required_ruby_version = ['>= 3.0.0', '< 3.4.0']
18
+ spec.required_ruby_version = ['>= 3.0.0', '< 3.5.0']
19
19
 
20
20
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec|docs)/}) }
21
21
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -43,7 +43,7 @@ module Fountain
43
43
  when *[expected_response].flatten then nil
44
44
  when Net::HTTPUnauthorized then raise Fountain::AuthenticationError
45
45
  when Net::HTTPNotFound then raise Fountain::NotFoundError
46
- else raise HTTPError, "Invalid http response code: #{response.code}"
46
+ else raise Fountain::UnexpectedHTTPError, response
47
47
  end
48
48
  end
49
49
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fountain
4
- VERSION = '0.0.20'
4
+ VERSION = '0.0.22'
5
5
  end
data/lib/fountain.rb CHANGED
@@ -19,6 +19,31 @@ module Fountain
19
19
 
20
20
  class InvalidMethodError < HTTPError; end
21
21
 
22
+ #
23
+ # Unexpected HTTP Error
24
+ #
25
+ class UnexpectedHTTPError < HTTPError
26
+ def initialize(response)
27
+ @response = response
28
+ super("Unexpected http response code: #{response.code}")
29
+ end
30
+
31
+ def response_code
32
+ @response.code
33
+ end
34
+
35
+ def parsed_body
36
+ JSON.parse(@response.body)
37
+ rescue JSON::ParserError
38
+ @response.body
39
+ end
40
+
41
+ def response_message
42
+ body = parsed_body
43
+ body['message'] if body.is_a? Hash
44
+ end
45
+ end
46
+
22
47
  class JsonParseError < Error; end
23
48
 
24
49
  class MissingApiKeyError < Error; end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fountain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - abrom
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-04-30 00:00:00.000000000 Z
10
+ date: 2025-01-13 00:00:00.000000000 Z
12
11
  dependencies: []
13
12
  description: Fountain REST API v2 wrapper for Ruby
14
13
  email:
@@ -60,7 +59,6 @@ licenses:
60
59
  - MIT
61
60
  metadata:
62
61
  rubygems_mfa_required: 'true'
63
- post_install_message:
64
62
  rdoc_options: []
65
63
  require_paths:
66
64
  - lib
@@ -71,15 +69,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
71
69
  version: 3.0.0
72
70
  - - "<"
73
71
  - !ruby/object:Gem::Version
74
- version: 3.4.0
72
+ version: 3.5.0
75
73
  required_rubygems_version: !ruby/object:Gem::Requirement
76
74
  requirements:
77
75
  - - ">="
78
76
  - !ruby/object:Gem::Version
79
77
  version: '0'
80
78
  requirements: []
81
- rubygems_version: 3.3.7
82
- signing_key:
79
+ rubygems_version: 3.6.2
83
80
  specification_version: 4
84
81
  summary: Fountain REST API v2 wrapper for Ruby
85
82
  test_files: []