siebel_donations 1.0.7 → 1.0.12

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
- SHA1:
3
- metadata.gz: 8018ecedc8b9f2dd959cb8ebdd50a75c566c1b7e
4
- data.tar.gz: 845ac1d0aa34bcf884b6c02e9772e320ded985f5
2
+ SHA256:
3
+ metadata.gz: 77f82f06f4eb40588971c8ea5d34666fd1b83501235135ccaab67899e11b720e
4
+ data.tar.gz: 8070f048653445280b1e11ec3db354969452a3c015e29bf955ad2a429bd83172
5
5
  SHA512:
6
- metadata.gz: 82c56c49a331d0d445020ad7b473b1998ab0703b98c4aa6166b5af4feb832225a827871fbc02082995fd5e9b153aed7d8d9b34ec4ae16e645515030ade6ed894
7
- data.tar.gz: 13a45dc08ab2e0785333b577087772cf4d32b5a844f52b250f8ab6414053cd888cbf071d87888ae3c593b1ae67116cca4820d1ef09d6d78fcfd97d9dbef423d9
6
+ metadata.gz: cf3f338d0c939d203f7d10f99a152052cc871095c201d1b4b66072c35752777e1c56bc2bf0248edfa63467a838a1bf9c239278d6087db66bd53a5866e2aa0c8c
7
+ data.tar.gz: 245c82c5d36b96cc1396b88dab184b4131d396371c762a798394e979f58e7a8c1713e0efde12b4abcdef4417376fc6516818abfdaa646008cf562a58907d6bfb
@@ -7,7 +7,7 @@ end
7
7
 
8
8
  module SiebelDonations
9
9
  class << self
10
- attr_accessor :base_url, :oauth_token, :default_timeout
10
+ attr_accessor :base_url, :oauth_token, :default_timeout, :default_retry_count
11
11
 
12
12
  def configure
13
13
  yield self
@@ -20,6 +20,10 @@ module SiebelDonations
20
20
  def default_timeout
21
21
  @default_timeout || 6000
22
22
  end
23
+
24
+ def default_retry_count
25
+ @default_retry_count || 20
26
+ end
23
27
  end
24
28
  end
25
29
 
@@ -14,24 +14,31 @@ module SiebelDonations
14
14
  def self.get(path, params)
15
15
  raise 'You need to configure SiebelDonations with your oauth_token.' unless SiebelDonations.oauth_token
16
16
 
17
- params[:response_timeout] ||= SiebelDonations.default_timeout
17
+ request_timeout = params[:timeout] || SiebelDonations.default_timeout
18
+ params[:response_timeout] ||= request_timeout
19
+ retry_count = params.delete(:retry_count) || SiebelDonations.default_retry_count
18
20
 
19
21
  url = SiebelDonations.base_url + path
20
- Retryable.retryable :on => [RestClient::InternalServerError, Timeout::Error, Errno::ECONNRESET], :times => 20, :sleep => 20 do
21
- RestClient::Request.execute(:method => :get, :url => url, :headers => {params: params, authorization: "Bearer #{SiebelDonations.oauth_token}"}, :timeout => nil) { |response, request, result, &block|
22
+ headers = { params: params, authorization: "Bearer #{SiebelDonations.oauth_token}" }
23
+
24
+ retryable_errors = [RestClient::InternalServerError, Timeout::Error, Errno::ECONNRESET]
25
+
26
+ Retryable.retryable on: retryable_errors, times: retry_count, sleep: 20 do
27
+ request_params = { method: :get, url: url, headers: headers, timeout: request_timeout }
28
+ RestClient::Request.execute(request_params) do |response, request, result, &block|
22
29
  case response.code
23
30
  when 200
24
31
  Oj.load(response.unpack("C*").pack("U*").force_encoding("UTF-8").encode!)
25
32
  when 400
26
- raise RestClient::BadRequest, response.to_s
33
+ raise RestClient::BadRequest, response
27
34
  when 500
28
- raise RestClient::InternalServerError, response.to_s
35
+ raise RestClient::InternalServerError, response
29
36
  else
30
37
  puts response.inspect
31
38
  puts request.inspect
32
39
  raise result.inspect
33
40
  end
34
- }
41
+ end
35
42
  end
36
43
  end
37
44
 
@@ -1,3 +1,3 @@
1
1
  module SiebelDonations
2
- VERSION = "1.0.7"
2
+ VERSION = "1.0.12"
3
3
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.require_paths = ["lib"]
19
19
 
20
20
  gem.add_dependency('rest-client', '~> 2.0.2')
21
- gem.add_dependency('oj', '~> 2.18.5')
21
+ gem.add_dependency('oj', '>= 2.18')
22
22
  gem.add_dependency('activesupport', '>= 3.0.0')
23
23
  gem.add_dependency('retryable-rb', '~> 1.1.0')
24
24
 
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe SiebelDonations::Base do
4
+ context '.get' do
5
+ context 'with timeout param set' do
6
+ it 'passes param to RestClient' do
7
+ expect(RestClient::Request).to receive(:execute)
8
+ .with(hash_including(url: SiebelDonations.base_url, timeout: 123))
9
+ .and_return(nil)
10
+
11
+ described_class.get('', timeout: 123)
12
+ end
13
+ end
14
+
15
+ context 'without timeout param set' do
16
+ it 'passes default to RestClient' do
17
+ expect(RestClient::Request).to receive(:execute)
18
+ .with(hash_including(timeout: 6000))
19
+ .and_return(nil)
20
+
21
+ described_class.get('', {})
22
+ end
23
+ end
24
+ end
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: siebel_donations
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Starcher
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-08 00:00:00.000000000 Z
11
+ date: 2020-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: oj
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 2.18.5
33
+ version: '2.18'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 2.18.5
40
+ version: '2.18'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -92,12 +92,13 @@ files:
92
92
  - lib/siebel_donations/profile.rb
93
93
  - lib/siebel_donations/version.rb
94
94
  - siebel_donations.gemspec
95
+ - spec/base_spec.rb
95
96
  - spec/donation_spec.rb
96
97
  - spec/spec_helper.rb
97
98
  homepage: ''
98
99
  licenses: []
99
100
  metadata: {}
100
- post_install_message:
101
+ post_install_message:
101
102
  rdoc_options: []
102
103
  require_paths:
103
104
  - lib
@@ -112,11 +113,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
113
  - !ruby/object:Gem::Version
113
114
  version: '0'
114
115
  requirements: []
115
- rubyforge_project:
116
- rubygems_version: 2.5.2
117
- signing_key:
116
+ rubygems_version: 3.1.2
117
+ signing_key:
118
118
  specification_version: 4
119
119
  summary: Get donation information from Siebel Donor
120
120
  test_files:
121
+ - spec/base_spec.rb
121
122
  - spec/donation_spec.rb
122
123
  - spec/spec_helper.rb