gocardless_pro 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gocardless_pro/error/api_error.rb +6 -0
- data/lib/gocardless_pro/resources/creditor.rb +10 -3
- data/lib/gocardless_pro/resources/creditor_bank_account.rb +10 -3
- data/lib/gocardless_pro/resources/customer.rb +3 -0
- data/lib/gocardless_pro/resources/customer_bank_account.rb +10 -3
- data/lib/gocardless_pro/resources/event.rb +10 -3
- data/lib/gocardless_pro/resources/mandate.rb +10 -3
- data/lib/gocardless_pro/resources/payment.rb +10 -3
- data/lib/gocardless_pro/resources/payout.rb +10 -3
- data/lib/gocardless_pro/resources/redirect_flow.rb +10 -3
- data/lib/gocardless_pro/resources/refund.rb +10 -3
- data/lib/gocardless_pro/resources/subscription.rb +10 -3
- data/lib/gocardless_pro/version.rb +1 -1
- data/lib/gocardless_pro.rb +1 -0
- data/spec/resources/customer_spec.rb +8 -0
- data/spec/response_spec.rb +15 -1
- data/spec/services/customers_service_spec.rb +13 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5ca1431d78a49ff26580c465b4c27535e05e6f6
|
4
|
+
data.tar.gz: 30a188b5a480cfb0c1f279460bfd30ee0a89d575
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b34fdd08aa1052d048fe9e64a424b74d5562aeccd151fb5669b3fd3982d699ba5f9d921e39f0add6efc08006da072ead01d6f1f6272a58ac04e07a315fb94f7
|
7
|
+
data.tar.gz: 79d98680c2cfd629c2dff5408107257ac593eda10e2d0f2aa5de0e7b8da8390b3765113d66cb1343fbd6cd7db1e66da7d3b4d09ff81f78a75e0c2390f8c9572f
|
@@ -68,15 +68,22 @@ module GoCardlessPro
|
|
68
68
|
valid_link_keys = %w(default_eur_payout_account default_gbp_payout_account )
|
69
69
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
70
70
|
|
71
|
-
Struct.new(
|
71
|
+
links_class = Struct.new(
|
72
72
|
*{
|
73
73
|
|
74
74
|
default_eur_payout_account: '',
|
75
75
|
|
76
76
|
default_gbp_payout_account: ''
|
77
77
|
|
78
|
-
}.keys
|
79
|
-
)
|
78
|
+
}.keys
|
79
|
+
) do
|
80
|
+
def initialize(hash)
|
81
|
+
hash.each do |key, val|
|
82
|
+
send("#{key}=", val)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
links_class.new(valid_links)
|
80
87
|
end
|
81
88
|
|
82
89
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -67,13 +67,20 @@ module GoCardlessPro
|
|
67
67
|
valid_link_keys = %w(creditor )
|
68
68
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
69
69
|
|
70
|
-
Struct.new(
|
70
|
+
links_class = Struct.new(
|
71
71
|
*{
|
72
72
|
|
73
73
|
creditor: ''
|
74
74
|
|
75
|
-
}.keys
|
76
|
-
)
|
75
|
+
}.keys
|
76
|
+
) do
|
77
|
+
def initialize(hash)
|
78
|
+
hash.each do |key, val|
|
79
|
+
send("#{key}=", val)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
links_class.new(valid_links)
|
77
84
|
end
|
78
85
|
|
79
86
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -39,6 +39,8 @@ module GoCardlessPro
|
|
39
39
|
|
40
40
|
attr_reader :id
|
41
41
|
|
42
|
+
attr_reader :language
|
43
|
+
|
42
44
|
attr_reader :metadata
|
43
45
|
|
44
46
|
attr_reader :postal_code
|
@@ -60,6 +62,7 @@ module GoCardlessPro
|
|
60
62
|
@family_name = object['family_name']
|
61
63
|
@given_name = object['given_name']
|
62
64
|
@id = object['id']
|
65
|
+
@language = object['language']
|
63
66
|
@metadata = object['metadata']
|
64
67
|
@postal_code = object['postal_code']
|
65
68
|
@region = object['region']
|
@@ -67,13 +67,20 @@ module GoCardlessPro
|
|
67
67
|
valid_link_keys = %w(customer )
|
68
68
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
69
69
|
|
70
|
-
Struct.new(
|
70
|
+
links_class = Struct.new(
|
71
71
|
*{
|
72
72
|
|
73
73
|
customer: ''
|
74
74
|
|
75
|
-
}.keys
|
76
|
-
)
|
75
|
+
}.keys
|
76
|
+
) do
|
77
|
+
def initialize(hash)
|
78
|
+
hash.each do |key, val|
|
79
|
+
send("#{key}=", val)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
links_class.new(valid_links)
|
77
84
|
end
|
78
85
|
|
79
86
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -51,7 +51,7 @@ module GoCardlessPro
|
|
51
51
|
valid_link_keys = %w(mandate new_customer_bank_account parent_event payment payout previous_customer_bank_account refund subscription )
|
52
52
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
53
53
|
|
54
|
-
Struct.new(
|
54
|
+
links_class = Struct.new(
|
55
55
|
*{
|
56
56
|
|
57
57
|
mandate: '',
|
@@ -70,8 +70,15 @@ module GoCardlessPro
|
|
70
70
|
|
71
71
|
subscription: ''
|
72
72
|
|
73
|
-
}.keys
|
74
|
-
)
|
73
|
+
}.keys
|
74
|
+
) do
|
75
|
+
def initialize(hash)
|
76
|
+
hash.each do |key, val|
|
77
|
+
send("#{key}=", val)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
links_class.new(valid_links)
|
75
82
|
end
|
76
83
|
|
77
84
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -56,15 +56,22 @@ module GoCardlessPro
|
|
56
56
|
valid_link_keys = %w(creditor customer_bank_account )
|
57
57
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
58
58
|
|
59
|
-
Struct.new(
|
59
|
+
links_class = Struct.new(
|
60
60
|
*{
|
61
61
|
|
62
62
|
creditor: '',
|
63
63
|
|
64
64
|
customer_bank_account: ''
|
65
65
|
|
66
|
-
}.keys
|
67
|
-
)
|
66
|
+
}.keys
|
67
|
+
) do
|
68
|
+
def initialize(hash)
|
69
|
+
hash.each do |key, val|
|
70
|
+
send("#{key}=", val)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
links_class.new(valid_links)
|
68
75
|
end
|
69
76
|
|
70
77
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -67,7 +67,7 @@ module GoCardlessPro
|
|
67
67
|
valid_link_keys = %w(creditor mandate payout subscription )
|
68
68
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
69
69
|
|
70
|
-
Struct.new(
|
70
|
+
links_class = Struct.new(
|
71
71
|
*{
|
72
72
|
|
73
73
|
creditor: '',
|
@@ -78,8 +78,15 @@ module GoCardlessPro
|
|
78
78
|
|
79
79
|
subscription: ''
|
80
80
|
|
81
|
-
}.keys
|
82
|
-
)
|
81
|
+
}.keys
|
82
|
+
) do
|
83
|
+
def initialize(hash)
|
84
|
+
hash.each do |key, val|
|
85
|
+
send("#{key}=", val)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
links_class.new(valid_links)
|
83
90
|
end
|
84
91
|
|
85
92
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -53,15 +53,22 @@ module GoCardlessPro
|
|
53
53
|
valid_link_keys = %w(creditor creditor_bank_account )
|
54
54
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
55
55
|
|
56
|
-
Struct.new(
|
56
|
+
links_class = Struct.new(
|
57
57
|
*{
|
58
58
|
|
59
59
|
creditor: '',
|
60
60
|
|
61
61
|
creditor_bank_account: ''
|
62
62
|
|
63
|
-
}.keys
|
64
|
-
)
|
63
|
+
}.keys
|
64
|
+
) do
|
65
|
+
def initialize(hash)
|
66
|
+
hash.each do |key, val|
|
67
|
+
send("#{key}=", val)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
links_class.new(valid_links)
|
65
72
|
end
|
66
73
|
|
67
74
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -83,7 +83,7 @@ module GoCardlessPro
|
|
83
83
|
valid_link_keys = %w(creditor customer customer_bank_account mandate )
|
84
84
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
85
85
|
|
86
|
-
Struct.new(
|
86
|
+
links_class = Struct.new(
|
87
87
|
*{
|
88
88
|
|
89
89
|
creditor: '',
|
@@ -94,8 +94,15 @@ module GoCardlessPro
|
|
94
94
|
|
95
95
|
mandate: ''
|
96
96
|
|
97
|
-
}.keys
|
98
|
-
)
|
97
|
+
}.keys
|
98
|
+
) do
|
99
|
+
def initialize(hash)
|
100
|
+
hash.each do |key, val|
|
101
|
+
send("#{key}=", val)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
links_class.new(valid_links)
|
99
106
|
end
|
100
107
|
|
101
108
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -56,13 +56,20 @@ module GoCardlessPro
|
|
56
56
|
valid_link_keys = %w(payment )
|
57
57
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
58
58
|
|
59
|
-
Struct.new(
|
59
|
+
links_class = Struct.new(
|
60
60
|
*{
|
61
61
|
|
62
62
|
payment: ''
|
63
63
|
|
64
|
-
}.keys
|
65
|
-
)
|
64
|
+
}.keys
|
65
|
+
) do
|
66
|
+
def initialize(hash)
|
67
|
+
hash.each do |key, val|
|
68
|
+
send("#{key}=", val)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
links_class.new(valid_links)
|
66
73
|
end
|
67
74
|
|
68
75
|
# Provides the resource as a hash of all it's readable attributes
|
@@ -144,13 +144,20 @@ module GoCardlessPro
|
|
144
144
|
valid_link_keys = %w(mandate )
|
145
145
|
valid_links = @links.select { |key, _| valid_link_keys.include?(key) }
|
146
146
|
|
147
|
-
Struct.new(
|
147
|
+
links_class = Struct.new(
|
148
148
|
*{
|
149
149
|
|
150
150
|
mandate: ''
|
151
151
|
|
152
|
-
}.keys
|
153
|
-
)
|
152
|
+
}.keys
|
153
|
+
) do
|
154
|
+
def initialize(hash)
|
155
|
+
hash.each do |key, val|
|
156
|
+
send("#{key}=", val)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
links_class.new(valid_links)
|
154
161
|
end
|
155
162
|
|
156
163
|
# Provides the resource as a hash of all it's readable attributes
|
data/lib/gocardless_pro.rb
CHANGED
@@ -30,6 +30,7 @@ require_relative 'gocardless_pro/error/validation_error'
|
|
30
30
|
require_relative 'gocardless_pro/error/gocardless_error'
|
31
31
|
require_relative 'gocardless_pro/error/invalid_api_usage_error'
|
32
32
|
require_relative 'gocardless_pro/error/invalid_state_error'
|
33
|
+
require_relative 'gocardless_pro/error/api_error'
|
33
34
|
require_relative 'gocardless_pro/paginator'
|
34
35
|
require_relative 'gocardless_pro/request'
|
35
36
|
require_relative 'gocardless_pro/response'
|
@@ -50,6 +50,10 @@ describe GoCardlessPro::Resources::Customer do
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
+
"language" => "language-input",
|
54
|
+
|
55
|
+
|
56
|
+
|
53
57
|
"metadata" => "metadata-input",
|
54
58
|
|
55
59
|
|
@@ -112,6 +116,10 @@ describe GoCardlessPro::Resources::Customer do
|
|
112
116
|
|
113
117
|
|
114
118
|
|
119
|
+
expect(resource.language).to eq("language-input")
|
120
|
+
|
121
|
+
|
122
|
+
|
115
123
|
expect(resource.metadata).to eq("metadata-input")
|
116
124
|
|
117
125
|
|
data/spec/response_spec.rb
CHANGED
@@ -73,7 +73,21 @@ describe GoCardlessPro::Response do
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
context "when the
|
76
|
+
context "when the response isn't JSON" do
|
77
|
+
let(:raw_response) do
|
78
|
+
double("response",
|
79
|
+
headers: {},
|
80
|
+
status: 400,
|
81
|
+
body: '',
|
82
|
+
)
|
83
|
+
end
|
84
|
+
|
85
|
+
it "raises an ApiError" do
|
86
|
+
expect { response.body }.to raise_error(GoCardlessPro::ApiError)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
context "when the response is an invalid state error" do
|
77
91
|
let(:raw_response) do
|
78
92
|
double("response",
|
79
93
|
headers: default_headers,
|
@@ -30,6 +30,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
30
30
|
"family_name" => "family_name-input",
|
31
31
|
"given_name" => "given_name-input",
|
32
32
|
"id" => "id-input",
|
33
|
+
"language" => "language-input",
|
33
34
|
"metadata" => "metadata-input",
|
34
35
|
"postal_code" => "postal_code-input",
|
35
36
|
"region" => "region-input",
|
@@ -53,6 +54,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
53
54
|
"family_name" => "family_name-input",
|
54
55
|
"given_name" => "given_name-input",
|
55
56
|
"id" => "id-input",
|
57
|
+
"language" => "language-input",
|
56
58
|
"metadata" => "metadata-input",
|
57
59
|
"postal_code" => "postal_code-input",
|
58
60
|
"region" => "region-input",
|
@@ -74,6 +76,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
74
76
|
"family_name" => "family_name-input",
|
75
77
|
"given_name" => "given_name-input",
|
76
78
|
"id" => "id-input",
|
79
|
+
"language" => "language-input",
|
77
80
|
"metadata" => "metadata-input",
|
78
81
|
"postal_code" => "postal_code-input",
|
79
82
|
"region" => "region-input",
|
@@ -137,6 +140,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
137
140
|
"family_name" => "family_name-input",
|
138
141
|
"given_name" => "given_name-input",
|
139
142
|
"id" => "id-input",
|
143
|
+
"language" => "language-input",
|
140
144
|
"metadata" => "metadata-input",
|
141
145
|
"postal_code" => "postal_code-input",
|
142
146
|
"region" => "region-input",
|
@@ -201,6 +205,10 @@ describe GoCardlessPro::Services::CustomersService do
|
|
201
205
|
|
202
206
|
|
203
207
|
|
208
|
+
expect(get_list_response.records.first.language).to eq("language-input")
|
209
|
+
|
210
|
+
|
211
|
+
|
204
212
|
expect(get_list_response.records.first.metadata).to eq("metadata-input")
|
205
213
|
|
206
214
|
|
@@ -240,6 +248,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
240
248
|
"family_name" => "family_name-input",
|
241
249
|
"given_name" => "given_name-input",
|
242
250
|
"id" => "id-input",
|
251
|
+
"language" => "language-input",
|
243
252
|
"metadata" => "metadata-input",
|
244
253
|
"postal_code" => "postal_code-input",
|
245
254
|
"region" => "region-input",
|
@@ -269,6 +278,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
269
278
|
"family_name" => "family_name-input",
|
270
279
|
"given_name" => "given_name-input",
|
271
280
|
"id" => "id-input",
|
281
|
+
"language" => "language-input",
|
272
282
|
"metadata" => "metadata-input",
|
273
283
|
"postal_code" => "postal_code-input",
|
274
284
|
"region" => "region-input",
|
@@ -319,6 +329,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
319
329
|
"family_name" => "family_name-input",
|
320
330
|
"given_name" => "given_name-input",
|
321
331
|
"id" => "id-input",
|
332
|
+
"language" => "language-input",
|
322
333
|
"metadata" => "metadata-input",
|
323
334
|
"postal_code" => "postal_code-input",
|
324
335
|
"region" => "region-input",
|
@@ -358,6 +369,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
358
369
|
"family_name" => "family_name-input",
|
359
370
|
"given_name" => "given_name-input",
|
360
371
|
"id" => "id-input",
|
372
|
+
"language" => "language-input",
|
361
373
|
"metadata" => "metadata-input",
|
362
374
|
"postal_code" => "postal_code-input",
|
363
375
|
"region" => "region-input",
|
@@ -416,6 +428,7 @@ describe GoCardlessPro::Services::CustomersService do
|
|
416
428
|
"family_name" => "family_name-input",
|
417
429
|
"given_name" => "given_name-input",
|
418
430
|
"id" => "id-input",
|
431
|
+
"language" => "language-input",
|
419
432
|
"metadata" => "metadata-input",
|
420
433
|
"postal_code" => "postal_code-input",
|
421
434
|
"region" => "region-input",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gocardless_pro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GoCardless
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- lib/gocardless_pro/api_service.rb
|
106
106
|
- lib/gocardless_pro/client.rb
|
107
107
|
- lib/gocardless_pro/error.rb
|
108
|
+
- lib/gocardless_pro/error/api_error.rb
|
108
109
|
- lib/gocardless_pro/error/gocardless_error.rb
|
109
110
|
- lib/gocardless_pro/error/invalid_api_usage_error.rb
|
110
111
|
- lib/gocardless_pro/error/invalid_state_error.rb
|
@@ -193,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
194
|
version: '0'
|
194
195
|
requirements: []
|
195
196
|
rubyforge_project:
|
196
|
-
rubygems_version: 2.4.
|
197
|
+
rubygems_version: 2.4.6
|
197
198
|
signing_key:
|
198
199
|
specification_version: 4
|
199
200
|
summary: A gem for calling the GoCardless Pro API
|