siebel_donations 1.0.8 → 1.0.13

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: e31f085fc9207a84516d800ef3a30f3645672b6a
4
- data.tar.gz: a2c7889724192507078b0583b3a62db8592ec593
2
+ SHA256:
3
+ metadata.gz: 359eaa167fe4d9d00549b7b6163074095c490f2a1a569781674b01a03f4db810
4
+ data.tar.gz: 452358f3403231414acf90f111a7e3199daa38f90f4d8bae399821150bb08ad0
5
5
  SHA512:
6
- metadata.gz: fe223a30a165168c04697b2228fe69817909b137b54d65e7b93582b17e16034d5d5e1a4c83eae259d25e2f58f8d17641dc42222f8d180e7137f7bc08ca009d58
7
- data.tar.gz: dca4db2e99afc39f16448a216afbc217a0f8f57547b677f51e78f932c8eabc7b99fce710a6943c13f9657b85d1feddf139ceb7485ac1cbfe2f46032041226bb6
6
+ metadata.gz: 6c98babd3bbd4f98a40d450638bbc60cc03a8d340a594580fc07f30617deb7951619a28fcb7bffc76913d2fa73398583c9391a40d7107ea756596a6161f9e37f
7
+ data.tar.gz: a74a1cea33371b7496becf816a02e3f2ed4ed85313f66fb85af2b49dcac11d12f43d6b270ce0a8914b160e3b2e6e7b027f2caf5ea13a89486283ae428a5d3db0
@@ -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 || 2
26
+ end
23
27
  end
24
28
  end
25
29
 
@@ -14,11 +14,18 @@ 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!)
@@ -31,7 +38,7 @@ module SiebelDonations
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.8"
2
+ VERSION = "1.0.13"
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
 
data/spec/base_spec.rb ADDED
@@ -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.8
4
+ version: 1.0.13
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: 2018-05-17 00:00:00.000000000 Z
11
+ date: 2021-05-20 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.6.8
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