chargehound 2.2.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/workflows/ruby.yml +24 -0
- data/.github/workflows/rvm.yml +36 -0
- data/.rubocop.yml +18 -0
- data/CHANGELOG +10 -0
- data/chargehound.gemspec +5 -5
- data/lib/chargehound/api_request.rb +10 -5
- data/lib/chargehound/disputes.rb +5 -4
- data/lib/chargehound/error.rb +2 -1
- data/lib/chargehound/models.rb +6 -0
- data/lib/chargehound/version.rb +1 -1
- data/test/disputes_test.rb +171 -5
- data/test/error_test.rb +44 -1
- metadata +20 -20
- data/.travis.yml +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3a82e732eb0a7cdf16eaf13488aa3802d99b14f39ea1270e588ac92f9e6ec7f9
|
4
|
+
data.tar.gz: a14307daea1deb3817aba7767d6f88bc0e84395af7502c55acbc5508415df4f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c2cc970865ac3e79011460b39636fd0fe4399abae617428fb4edd6a59a1ceeca1ae103fcad2fa89f0bfe272da1ae97b05379a6c253ff060e8d4b7544300c711
|
7
|
+
data.tar.gz: 0a821e6464dbac1257fcb0d73a91c58894e97ed2968729b00abdf8e2d311fd2812c5f45c3f7faafe51fc3722031c2138f94755b77e49cec0f6d7bc1e686c6019
|
@@ -0,0 +1,24 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ main ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ main ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
build:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
strategy:
|
13
|
+
matrix:
|
14
|
+
ruby: [ '2.4', '2.5', '2.6']
|
15
|
+
name: Test Ruby ${{ matrix.ruby }}
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@v2
|
18
|
+
- uses: actions/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: ${{ matrix.ruby }}
|
21
|
+
- run: |
|
22
|
+
gem install bundler
|
23
|
+
bundle install --jobs 4 --retry 3
|
24
|
+
bundle exec rake test
|
@@ -0,0 +1,36 @@
|
|
1
|
+
name: JRuby
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ main ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ main ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
build:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
strategy:
|
13
|
+
matrix:
|
14
|
+
ruby: [ 'jruby-9.2.9.0', 'jruby-head' ]
|
15
|
+
name: Test Ruby ${{ matrix.ruby }}
|
16
|
+
steps:
|
17
|
+
- name: Install libraries
|
18
|
+
run: sudo apt install haveged
|
19
|
+
- uses: actions/checkout@v2
|
20
|
+
- name: Set up RVM
|
21
|
+
run: |
|
22
|
+
curl -sSL https://get.rvm.io | bash
|
23
|
+
- name: Set up Ruby
|
24
|
+
run: |
|
25
|
+
source $HOME/.rvm/scripts/rvm
|
26
|
+
rvm install ${{ matrix.ruby }} --binary
|
27
|
+
rvm --default use ${{ matrix.ruby }}
|
28
|
+
- name: Install dependencies
|
29
|
+
run: |
|
30
|
+
source $HOME/.rvm/scripts/rvm
|
31
|
+
gem install bundler --no-document
|
32
|
+
bundle install
|
33
|
+
- name: Run test
|
34
|
+
run: |
|
35
|
+
source $HOME/.rvm/scripts/rvm
|
36
|
+
rake test
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
Metrics/MethodLength:
|
2
2
|
Enabled: false
|
3
3
|
|
4
|
+
Metrics/BlockLength:
|
5
|
+
Enabled: false
|
6
|
+
|
7
|
+
Gemspec/RequiredRubyVersion:
|
8
|
+
Enabled: false
|
9
|
+
|
10
|
+
Style/SymbolArray:
|
11
|
+
Enabled: false
|
12
|
+
|
4
13
|
Style/SpecialGlobalVars:
|
5
14
|
Enabled: false
|
15
|
+
|
16
|
+
Metrics/ClassLength:
|
17
|
+
Enabled: false
|
18
|
+
|
19
|
+
Metrics/AbcSize:
|
20
|
+
Enabled: false
|
21
|
+
|
22
|
+
Style/BlockDelimiters:
|
23
|
+
Enabled: false
|
data/CHANGELOG
CHANGED
@@ -14,3 +14,13 @@
|
|
14
14
|
- Add Accept endpoint
|
15
15
|
2.2.0 November, 2017
|
16
16
|
- Add support for overriding version
|
17
|
+
2.2.1 Febuary, 2018
|
18
|
+
- Update rubocop version
|
19
|
+
2.2.2 September, 2018
|
20
|
+
- Update docs
|
21
|
+
2.3.0 April, 2019
|
22
|
+
- Add Correspondence model
|
23
|
+
2.4.0 Sept, 2019
|
24
|
+
- Add PastPayment model
|
25
|
+
2.5.0 Feb, 2021
|
26
|
+
- Surface error types
|
data/chargehound.gemspec
CHANGED
@@ -6,18 +6,18 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = 'chargehound'
|
7
7
|
spec.version = Chargehound::VERSION
|
8
8
|
spec.platform = Gem::Platform::RUBY
|
9
|
-
spec.required_ruby_version = '>=
|
9
|
+
spec.required_ruby_version = '>= 2.0.0'
|
10
10
|
spec.authors = ['Chargehound']
|
11
11
|
spec.email = ['support@chargehound.com']
|
12
12
|
spec.homepage = 'https://www.chargehound.com'
|
13
13
|
spec.summary = 'Ruby bindings for the Chargehound API'
|
14
|
-
spec.description = 'Automatically fight disputes
|
14
|
+
spec.description = 'Automatically fight disputes'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
|
-
spec.add_development_dependency 'bundler'
|
17
|
+
spec.add_development_dependency 'bundler'
|
18
18
|
spec.add_development_dependency 'minitest', '~> 5.8'
|
19
|
-
spec.add_development_dependency 'rake', '~>
|
20
|
-
spec.add_development_dependency 'rubocop', '0.
|
19
|
+
spec.add_development_dependency 'rake', '~> 12.3'
|
20
|
+
spec.add_development_dependency 'rubocop', '~> 0.49'
|
21
21
|
spec.add_development_dependency 'webmock', '~> 2.3'
|
22
22
|
|
23
23
|
spec.files = `git ls-files`.split($/)
|
@@ -39,10 +39,7 @@ module Chargehound
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def build_http_opts
|
42
|
-
{
|
43
|
-
use_ssl: true,
|
44
|
-
read_timeout: Chargehound.timeout
|
45
|
-
}
|
42
|
+
{ use_ssl: true, read_timeout: Chargehound.timeout }
|
46
43
|
end
|
47
44
|
|
48
45
|
def build_headers(body)
|
@@ -100,7 +97,15 @@ module Chargehound
|
|
100
97
|
def convert(dict)
|
101
98
|
case dict['object']
|
102
99
|
when 'dispute'
|
103
|
-
dict['products'].map
|
100
|
+
dict['products'] = dict.fetch('products', []).map { |item|
|
101
|
+
Product.new(item)
|
102
|
+
}
|
103
|
+
dict['correspondence'] = dict.fetch('correspondence', []).map { |item|
|
104
|
+
CorrespondenceItem.new(item)
|
105
|
+
}
|
106
|
+
dict['past_payments'] = dict.fetch('past_payments', []).map { |item|
|
107
|
+
PastPayment.new(item)
|
108
|
+
}
|
104
109
|
Dispute.new(dict)
|
105
110
|
when 'list'
|
106
111
|
dict['data'].map! { |item| convert item }
|
data/lib/chargehound/disputes.rb
CHANGED
@@ -11,7 +11,8 @@ module Chargehound
|
|
11
11
|
end
|
12
12
|
|
13
13
|
# A list of disputes
|
14
|
-
# This endpoint will list all the disputes that we have synced from
|
14
|
+
# This endpoint will list all the disputes that we have synced from your
|
15
|
+
# payment processor.
|
15
16
|
# By default the disputes will be ordered by `created` with the most recent
|
16
17
|
# dispute first. { }`has_more` will be `true` if more results are available.
|
17
18
|
# @option [Hash] params the query parameters
|
@@ -37,9 +38,9 @@ module Chargehound
|
|
37
38
|
|
38
39
|
# Submitting a dispute
|
39
40
|
# You will want to submit the dispute through Chargehound after you recieve
|
40
|
-
# a notification
|
41
|
-
# you can update a dispute with the evidence fields and
|
42
|
-
# response
|
41
|
+
# a webhook notification of a new dispute. With one `POST` request
|
42
|
+
# you can update a dispute with the evidence fields and submit the generated
|
43
|
+
# response.
|
43
44
|
# The response will have a `201` status if the submit was successful.
|
44
45
|
# The dispute will also be in the submitted state.
|
45
46
|
# @param dispute_id A dispute id
|
data/lib/chargehound/error.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module Chargehound
|
2
2
|
# Cast Chargehound API errors to custom error types
|
3
3
|
class ChargehoundError < StandardError
|
4
|
-
attr_reader :status, :message
|
4
|
+
attr_reader :status, :message, :type
|
5
5
|
|
6
6
|
def initialize(error_response)
|
7
7
|
@message = error_response['message']
|
8
8
|
@status = error_response['status']
|
9
|
+
@type = error_response['type']
|
9
10
|
status_string = @status.nil? ? '' : "(Status #{@status}) "
|
10
11
|
super("#{status_string}#{message}")
|
11
12
|
end
|
data/lib/chargehound/models.rb
CHANGED
@@ -40,6 +40,12 @@ module Chargehound
|
|
40
40
|
class Product < ChargehoundObject
|
41
41
|
end
|
42
42
|
|
43
|
+
class CorrespondenceItem < ChargehoundObject
|
44
|
+
end
|
45
|
+
|
46
|
+
class PastPayment < ChargehoundObject
|
47
|
+
end
|
48
|
+
|
43
49
|
# Expose response properties via this struct on response objects
|
44
50
|
HTTPResponse = Struct.new(:status)
|
45
51
|
end
|
data/lib/chargehound/version.rb
CHANGED
data/test/disputes_test.rb
CHANGED
@@ -75,18 +75,100 @@ dispute_with_product_info_response = {
|
|
75
75
|
]
|
76
76
|
}
|
77
77
|
|
78
|
-
|
78
|
+
dispute_with_correspondence_info_update = {
|
79
|
+
fields: {
|
80
|
+
customer_name: 'Susie'
|
81
|
+
},
|
82
|
+
correspondence: [
|
83
|
+
{
|
84
|
+
to: 'customer@example.com',
|
85
|
+
from: 'noreply@example.com',
|
86
|
+
subject: 'Your Order',
|
87
|
+
body: 'Your order was received.',
|
88
|
+
caption: 'Order confirmation email.'
|
89
|
+
}, {
|
90
|
+
to: 'customer@example.com',
|
91
|
+
from: 'noreply@example.com',
|
92
|
+
subject: 'Your Order',
|
93
|
+
body: 'Your order was delivered.',
|
94
|
+
caption: 'Delivery confirmation email.'
|
95
|
+
}
|
96
|
+
]
|
97
|
+
}
|
98
|
+
|
99
|
+
dispute_with_correspondence_info_response = {
|
100
|
+
id: 'dp_123',
|
101
|
+
object: 'dispute',
|
102
|
+
fields: {
|
103
|
+
customer_name: 'Susie'
|
104
|
+
},
|
105
|
+
correspondence: [
|
106
|
+
{
|
107
|
+
to: 'customer@example.com',
|
108
|
+
from: 'noreply@example.com',
|
109
|
+
subject: 'Your Order',
|
110
|
+
body: 'Your order was received.',
|
111
|
+
caption: 'Order confirmation email.'
|
112
|
+
}, {
|
113
|
+
to: 'customer@example.com',
|
114
|
+
from: 'noreply@example.com',
|
115
|
+
subject: 'Your Order',
|
116
|
+
body: 'Your order was delivered.',
|
117
|
+
caption: 'Delivery confirmation email.'
|
118
|
+
}
|
119
|
+
]
|
120
|
+
}
|
121
|
+
|
122
|
+
dispute_with_past_payments_update = {
|
123
|
+
fields: {
|
124
|
+
customer_name: 'Susie'
|
125
|
+
},
|
126
|
+
past_payments: [
|
127
|
+
{
|
128
|
+
id: 'ch_1',
|
129
|
+
amount: 20_000,
|
130
|
+
currency: 'usd',
|
131
|
+
charged_at: '2019-09-10 11:09:41PM UTC'
|
132
|
+
}, {
|
133
|
+
id: 'ch_2',
|
134
|
+
amount: 50_000,
|
135
|
+
currency: 'usd',
|
136
|
+
charged_at: '2019-09-03 11:09:41PM UTC'
|
137
|
+
}
|
138
|
+
]
|
139
|
+
}
|
140
|
+
|
141
|
+
dispute_with_past_payments_response = {
|
79
142
|
id: 'dp_123',
|
80
143
|
object: 'dispute',
|
81
|
-
|
144
|
+
fields: {
|
145
|
+
customer_name: 'Susie'
|
146
|
+
},
|
147
|
+
past_payments: [
|
148
|
+
{
|
149
|
+
id: 'ch_1',
|
150
|
+
amount: 20_000,
|
151
|
+
currency: 'usd',
|
152
|
+
charged_at: '2019-09-10 11:09:41PM UTC'
|
153
|
+
}, {
|
154
|
+
id: 'ch_2',
|
155
|
+
amount: 50_000,
|
156
|
+
currency: 'usd',
|
157
|
+
charged_at: '2019-09-03 11:09:41PM UTC'
|
158
|
+
}
|
159
|
+
]
|
160
|
+
}
|
161
|
+
|
162
|
+
dispute_response = {
|
163
|
+
id: 'dp_123',
|
164
|
+
object: 'dispute'
|
82
165
|
}
|
83
166
|
|
84
167
|
dispute_list_response = {
|
85
168
|
object: 'list',
|
86
169
|
data: [{
|
87
170
|
id: 'dp_123',
|
88
|
-
object: 'dispute'
|
89
|
-
products: []
|
171
|
+
object: 'dispute'
|
90
172
|
}]
|
91
173
|
}
|
92
174
|
|
@@ -145,7 +227,9 @@ describe Chargehound::Disputes do
|
|
145
227
|
data: [{
|
146
228
|
id: 'dp_123',
|
147
229
|
object: 'dispute',
|
148
|
-
products: []
|
230
|
+
products: [],
|
231
|
+
correspondence: [],
|
232
|
+
past_payments: []
|
149
233
|
}],
|
150
234
|
response: {
|
151
235
|
status: '200'
|
@@ -174,6 +258,24 @@ describe Chargehound::Disputes do
|
|
174
258
|
assert_requested stub
|
175
259
|
end
|
176
260
|
|
261
|
+
it 'can list disputes filtered by state' do
|
262
|
+
stub = stub_request(:get, 'https://api.chargehound.com/v1/disputes?state=needs_response')
|
263
|
+
.with(headers: get_headers)
|
264
|
+
.to_return(body: dispute_list_response.to_json)
|
265
|
+
|
266
|
+
Chargehound::Disputes.list(state: %w[needs_response])
|
267
|
+
assert_requested stub
|
268
|
+
end
|
269
|
+
|
270
|
+
it 'can list disputes filtered by multiple states' do
|
271
|
+
stub = stub_request(:get, 'https://api.chargehound.com/v1/disputes?state=needs_response&state=warning_needs_response')
|
272
|
+
.with(headers: get_headers)
|
273
|
+
.to_return(body: dispute_list_response.to_json)
|
274
|
+
|
275
|
+
Chargehound::Disputes.list(state: %w[needs_response warning_needs_response])
|
276
|
+
assert_requested stub
|
277
|
+
end
|
278
|
+
|
177
279
|
it 'can retrieve a dispute' do
|
178
280
|
stub = stub_request(:get, 'https://api.chargehound.com/v1/disputes/dp_123')
|
179
281
|
.with(headers: get_headers)
|
@@ -242,6 +344,59 @@ describe Chargehound::Disputes do
|
|
242
344
|
assert_requested stub
|
243
345
|
end
|
244
346
|
|
347
|
+
it 'can submit a dispute with correspondence data' do
|
348
|
+
stub = stub_request(:post, 'https://api.chargehound.com/v1/disputes/dp_123/submit')
|
349
|
+
.with(headers: post_headers,
|
350
|
+
body: dispute_with_correspondence_info_update.to_json)
|
351
|
+
.to_return(body: dispute_with_correspondence_info_response.to_json,
|
352
|
+
status: 201)
|
353
|
+
|
354
|
+
Chargehound::Disputes.submit('dp_123',
|
355
|
+
dispute_with_correspondence_info_update)
|
356
|
+
assert_requested stub
|
357
|
+
end
|
358
|
+
|
359
|
+
it 'has a model for correspondence data' do
|
360
|
+
stub = stub_request(:post, 'https://api.chargehound.com/v1/disputes/dp_123/submit')
|
361
|
+
.with(headers: post_headers,
|
362
|
+
body: dispute_with_correspondence_info_update.to_json)
|
363
|
+
.to_return(body: dispute_with_correspondence_info_response.to_json,
|
364
|
+
status: 201)
|
365
|
+
|
366
|
+
dispute = Chargehound::Disputes.submit(
|
367
|
+
'dp_123', dispute_with_correspondence_info_update
|
368
|
+
)
|
369
|
+
|
370
|
+
assert_instance_of(Chargehound::CorrespondenceItem,
|
371
|
+
dispute.correspondence[0])
|
372
|
+
assert_requested stub
|
373
|
+
end
|
374
|
+
|
375
|
+
it 'can submit a dispute with past payments data' do
|
376
|
+
stub = stub_request(:post, 'https://api.chargehound.com/v1/disputes/dp_123/submit')
|
377
|
+
.with(headers: post_headers,
|
378
|
+
body: dispute_with_past_payments_update.to_json)
|
379
|
+
.to_return(body: dispute_with_past_payments_response.to_json,
|
380
|
+
status: 201)
|
381
|
+
|
382
|
+
Chargehound::Disputes.submit('dp_123', dispute_with_past_payments_update)
|
383
|
+
assert_requested stub
|
384
|
+
end
|
385
|
+
|
386
|
+
it 'has a model for past payments data' do
|
387
|
+
stub = stub_request(:post, 'https://api.chargehound.com/v1/disputes/dp_123/submit')
|
388
|
+
.with(headers: post_headers,
|
389
|
+
body: dispute_with_past_payments_update.to_json)
|
390
|
+
.to_return(body: dispute_with_past_payments_response.to_json,
|
391
|
+
status: 201)
|
392
|
+
|
393
|
+
dispute = Chargehound::Disputes.submit('dp_123',
|
394
|
+
dispute_with_past_payments_update)
|
395
|
+
|
396
|
+
assert_instance_of(Chargehound::PastPayment, dispute.past_payments[0])
|
397
|
+
assert_requested stub
|
398
|
+
end
|
399
|
+
|
245
400
|
it 'can update a dispute' do
|
246
401
|
stub = stub_request(:put, 'https://api.chargehound.com/v1/disputes/dp_123')
|
247
402
|
.with(headers: post_headers, body: dispute_update.to_json)
|
@@ -260,4 +415,15 @@ describe Chargehound::Disputes do
|
|
260
415
|
Chargehound::Disputes.update('dp_123', dispute_with_product_info_update)
|
261
416
|
assert_requested stub
|
262
417
|
end
|
418
|
+
|
419
|
+
it 'can update a dispute with correspondence data' do
|
420
|
+
stub = stub_request(:put, 'https://api.chargehound.com/v1/disputes/dp_123')
|
421
|
+
.with(headers: post_headers,
|
422
|
+
body: dispute_with_correspondence_info_update.to_json)
|
423
|
+
.to_return(body: dispute_response.to_json)
|
424
|
+
|
425
|
+
Chargehound::Disputes.update('dp_123',
|
426
|
+
dispute_with_correspondence_info_update)
|
427
|
+
assert_requested stub
|
428
|
+
end
|
263
429
|
end
|
data/test/error_test.rb
CHANGED
@@ -7,6 +7,14 @@ error_response = {
|
|
7
7
|
}
|
8
8
|
}
|
9
9
|
|
10
|
+
error_response_typed = {
|
11
|
+
'error' => {
|
12
|
+
'status' => 400,
|
13
|
+
'message' => 'Bad Request',
|
14
|
+
'type' => 'invalid_request'
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
10
18
|
describe Chargehound::ChargehoundError do
|
11
19
|
before do
|
12
20
|
Chargehound.api_key = 'API_KEY'
|
@@ -19,7 +27,13 @@ describe Chargehound::ChargehoundError do
|
|
19
27
|
it 'should propagate errors' do
|
20
28
|
stub_request(:any, 'https://api.chargehound.com/v1/disputes').to_raise(StandardError)
|
21
29
|
|
22
|
-
assert_raises
|
30
|
+
# `assert_raises` has trouble on jruby,
|
31
|
+
# so we simply write the code
|
32
|
+
begin
|
33
|
+
Chargehound::Disputes.list
|
34
|
+
rescue StandardError => error
|
35
|
+
assert(error.is_a?(StandardError))
|
36
|
+
end
|
23
37
|
end
|
24
38
|
|
25
39
|
it 'should return typed chargehound errors from the API' do
|
@@ -38,6 +52,35 @@ describe Chargehound::ChargehoundError do
|
|
38
52
|
end
|
39
53
|
end
|
40
54
|
|
55
|
+
it 'should surface the error type' do
|
56
|
+
stub_request(:any, 'https://api.chargehound.com/v1/disputes').to_raise(StandardError)
|
57
|
+
|
58
|
+
# `assert_raises` has trouble on jruby,
|
59
|
+
# so we simply write the code
|
60
|
+
begin
|
61
|
+
Chargehound::Disputes.list
|
62
|
+
rescue StandardError => error
|
63
|
+
assert(error.is_a?(StandardError))
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'should return typed chargehound errors from the API' do
|
68
|
+
stub_request(:any, 'https://api.chargehound.com/v1/disputes')
|
69
|
+
.to_return(status: 400, body: error_response_typed.to_json)
|
70
|
+
|
71
|
+
# `assert_raises` doesn't like Chargehound::ChargehoundBadRequestError,
|
72
|
+
# so we simply write the code
|
73
|
+
begin
|
74
|
+
Chargehound::Disputes.list
|
75
|
+
rescue Chargehound::ChargehoundBadRequestError => error
|
76
|
+
assert(error.is_a?(Chargehound::ChargehoundBadRequestError))
|
77
|
+
assert_equal(400, error.status)
|
78
|
+
assert_equal('Bad Request', error.message)
|
79
|
+
assert_equal('invalid_request', error.type)
|
80
|
+
assert_equal('(Status 400) Bad Request', error.to_s)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
41
84
|
it 'should throw a typed error on timeout' do
|
42
85
|
stub_request(:any, 'https://api.chargehound.com/v1/disputes').to_timeout
|
43
86
|
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chargehound
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chargehound
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: minitest
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,28 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '12.3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '12.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rubocop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: '0.49'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: '0.49'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: webmock
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,7 +80,7 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2.3'
|
83
|
-
description: Automatically fight disputes
|
83
|
+
description: Automatically fight disputes
|
84
84
|
email:
|
85
85
|
- support@chargehound.com
|
86
86
|
executables: []
|
@@ -88,9 +88,10 @@ extensions: []
|
|
88
88
|
extra_rdoc_files:
|
89
89
|
- README.md
|
90
90
|
files:
|
91
|
+
- ".github/workflows/ruby.yml"
|
92
|
+
- ".github/workflows/rvm.yml"
|
91
93
|
- ".gitignore"
|
92
94
|
- ".rubocop.yml"
|
93
|
-
- ".travis.yml"
|
94
95
|
- CHANGELOG
|
95
96
|
- Gemfile
|
96
97
|
- LICENSE
|
@@ -112,7 +113,7 @@ homepage: https://www.chargehound.com
|
|
112
113
|
licenses:
|
113
114
|
- MIT
|
114
115
|
metadata: {}
|
115
|
-
post_install_message:
|
116
|
+
post_install_message:
|
116
117
|
rdoc_options: []
|
117
118
|
require_paths:
|
118
119
|
- lib
|
@@ -120,16 +121,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
121
|
requirements:
|
121
122
|
- - ">="
|
122
123
|
- !ruby/object:Gem::Version
|
123
|
-
version:
|
124
|
+
version: 2.0.0
|
124
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
126
|
requirements:
|
126
127
|
- - ">="
|
127
128
|
- !ruby/object:Gem::Version
|
128
129
|
version: '0'
|
129
130
|
requirements: []
|
130
|
-
|
131
|
-
|
132
|
-
signing_key:
|
131
|
+
rubygems_version: 3.1.4
|
132
|
+
signing_key:
|
133
133
|
specification_version: 4
|
134
134
|
summary: Ruby bindings for the Chargehound API
|
135
135
|
test_files:
|