fellowshipone 2.3.0 → 3.0.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: 3d3e8fd739f06877331528a5b336f0bd9a07652a3b1bb636252412fe58f43725
4
- data.tar.gz: b3dcf555047b91033c7e484e0f0459e3fbeed7a94518fe78672ce92f5a2fa386
3
+ metadata.gz: c7b6892a399d21c72712f35fb4b780fc5f0a67375b53dfcb0ed212c6d826c72b
4
+ data.tar.gz: b9ce0b52ad3365cf93ad0e839fb6ff4b23de93a7365b4db0f4f346f69a3e7ff0
5
5
  SHA512:
6
- metadata.gz: 979700cfeab5b167e679bbe7ef5ed93b8eee9d4a6b483b14c39ab59868e56fde8ac795ec3426714c3655ac8cedd0dd3ec3020c3901c72f844e3e0220b567faef
7
- data.tar.gz: d65b3e8cc2125d16c8f7404f6507445d8f6749c8f20e1e27b62fac2168c676174e1148888fc2b6fe8d17d33364acd5a1dcc11cfa0a4db8aa6c515ea9dcf37ab9
6
+ metadata.gz: f4fc4e55888f426e7cc6335f8cb3a73f47d6c992b8101b315f758b1efffc8505fa2ac9495316c9c58017d70e17d483eb7ccaf676a4c788b331f75aff29d314cc
7
+ data.tar.gz: 89638f38f54f34d29da9758a846a6f30de15c795c161a5665247f029ca5ba3a5b2ebc7f8609a5fe370df7f816b312403222f30314ef5442272fadba9adb6f883
data/Gemfile.lock CHANGED
@@ -1,29 +1,33 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fellowshipone (1.3.0)
4
+ fellowshipone (2.3.0)
5
5
  addressable
6
6
  faraday
7
7
  faraday_middleware
8
8
  hashie
9
9
  json
10
+ oauth
10
11
  simple_oauth
11
12
 
12
13
  GEM
13
14
  remote: http://rubygems.org/
14
15
  specs:
15
- addressable (2.3.7)
16
+ addressable (2.8.0)
17
+ public_suffix (>= 2.0.2, < 5.0)
16
18
  crack (0.4.2)
17
19
  safe_yaml (~> 1.0.0)
18
- faraday (0.9.2)
20
+ faraday (1.0.1)
19
21
  multipart-post (>= 1.2, < 3)
20
- faraday_middleware (0.10.0)
21
- faraday (>= 0.7.4, < 0.10)
22
- hashie (3.4.3)
23
- json (1.8.3)
22
+ faraday_middleware (1.0.0)
23
+ faraday (~> 1.0)
24
+ hashie (4.1.0)
25
+ json (2.3.1)
24
26
  minitest (5.5.1)
25
- multipart-post (2.0.0)
26
- rake (10.4.2)
27
+ multipart-post (2.1.1)
28
+ oauth (0.5.6)
29
+ public_suffix (4.0.6)
30
+ rake (12.3.3)
27
31
  safe_yaml (1.0.4)
28
32
  simple_oauth (0.3.1)
29
33
  vcr (2.9.3)
@@ -43,4 +47,4 @@ DEPENDENCIES
43
47
  webmock
44
48
 
45
49
  BUNDLED WITH
46
- 1.10.6
50
+ 2.1.4
data/README.md CHANGED
@@ -12,7 +12,7 @@ Installing the gem
12
12
 
13
13
  To add it to your Gemfile
14
14
 
15
- gem 'fellowshipone', require: 'fellowshipone'
15
+ gem 'fellowshipone', '3.0.0'
16
16
 
17
17
  ## Additional resources
18
18
 
@@ -23,10 +23,9 @@ To add it to your Gemfile
23
23
  ## License
24
24
 
25
25
  This project is released under the MIT license (see LICENSE).
26
-
27
26
  This project is maintained by Taylor Brooks (https://github.com/taylorbrooks).
28
27
 
29
28
 
30
29
  ## Want to Contribute?
31
30
 
32
- If you would like to get involved in this project, then please fork the project. Make changes, add features, write some tests, and then send a pull request.
31
+ If you would like to get involved in this project, then please fork the project. Make changes, add features, write some tests, and then send a pull request.
@@ -2,7 +2,7 @@ $:.push File.expand_path('../lib', __FILE__)
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'fellowshipone'
5
- s.version = '2.3.0'
5
+ s.version = '3.0.0'
6
6
  s.authors = ['Taylor Brooks']
7
7
  s.email = ['tbrooks@gmail.com']
8
8
  s.homepage = 'https://github.com/taylorbrooks/fellowshipone'
@@ -54,6 +54,7 @@ module Fellowshipone
54
54
  connection.request :oauth, oauth_data
55
55
  connection.response :logger if logger
56
56
  connection.use FaradayMiddleware::Mashify
57
+ connection.use FaradayMiddleware::FellowshiponeErrorHandler
57
58
  connection.response :json
58
59
  connection.adapter Faraday.default_adapter
59
60
  end
@@ -0,0 +1,44 @@
1
+ module Fellowshipone
2
+ class Error < StandardError; end
3
+ class BadRequest < Error; end
4
+ class Forbidden < Error; end
5
+ class GatewayTimeout < Error; end
6
+ class InternalServerError < Error; end
7
+ class NotFound < Error; end
8
+ class ServiceUnavailable < Error; end
9
+ class Unauthorized < Error; end
10
+ end
11
+
12
+ require 'faraday'
13
+ module FaradayMiddleware
14
+ class FellowshiponeErrorHandler < Faraday::Response::Middleware
15
+ ERROR_STATUSES = 400..600
16
+
17
+ def on_complete(env)
18
+ case env[:status]
19
+ when 400
20
+ raise Fellowshipone::BadRequest, error_message(env)
21
+ when 401
22
+ raise Fellowshipone::Unauthorized, error_message(env)
23
+ when 403
24
+ raise Fellowshipone::Forbidden, error_message(env)
25
+ when 404
26
+ raise Fellowshipone::NotFound, error_message(env)
27
+ when 500
28
+ raise Fellowshipone::InternalServerError, error_message(env)
29
+ when 503
30
+ raise Fellowshipone::ServiceUnavailable, error_message(env)
31
+ when 504
32
+ raise Fellowshipone::GatewayTimeout, error_message(env)
33
+ when ERROR_STATUSES
34
+ raise Fellowshipone::Error, error_message(env)
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def error_message(env)
41
+ "#{env[:status]}: #{env[:url]} #{env[:body]} #{env[:reason_phrase]}"
42
+ end
43
+ end
44
+ end
data/lib/fellowshipone.rb CHANGED
@@ -1,2 +1,3 @@
1
- require_relative 'fellowshipone/client.rb'
2
- require_relative 'fellowshipone/connection.rb'
1
+ require_relative 'fellowshipone/client'
2
+ require_relative 'fellowshipone/connection'
3
+ require_relative 'fellowshipone/error'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fellowshipone
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taylor Brooks
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-17 00:00:00.000000000 Z
11
+ date: 2022-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -195,6 +195,7 @@ files:
195
195
  - lib/fellowshipone.rb
196
196
  - lib/fellowshipone/client.rb
197
197
  - lib/fellowshipone/connection.rb
198
+ - lib/fellowshipone/error.rb
198
199
  - lib/fellowshipone/resources/communication.rb
199
200
  - lib/fellowshipone/resources/contribution.rb
200
201
  - lib/fellowshipone/resources/fund.rb
@@ -226,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
227
  - !ruby/object:Gem::Version
227
228
  version: '0'
228
229
  requirements: []
229
- rubygems_version: 3.0.3
230
+ rubygems_version: 3.1.6
230
231
  signing_key:
231
232
  specification_version: 4
232
233
  summary: Ruby gem/plugin to interact with the FellowshipOne API (https://developer.fellowshipone.com/).