Skip to content

Commit 73bf762

Browse files
author
Colin Rood
authored
Merge pull request #25 from Adyen/develop
Update versions, add msg to AdyenError, fix console
2 parents a6494d6 + a949621 commit 73bf762

File tree

10 files changed

+45
-36
lines changed

10 files changed

+45
-36
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ response = adyen.checkout.payments({
6464
})
6565
```
6666

67+
### Change API Version
68+
```ruby
69+
adyen.checkout.version = 49
70+
```
71+
6772
## List of supported methods
6873

6974
**checkout:**

bin/console

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env ruby
22

3-
require_relative "../lib/adyen.rb"
3+
require_relative "../lib/adyen-ruby-api-library.rb"
44

55
# You can add fixtures and/or initialization code here to make experimenting
66
# with your gem easier. You can also use a different console, if you like.

docs/payout.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ <h3 id="storepayoutdetails">Store payout details</h3>
8888
"shopperReference" : "&lt;ShopperReference&gt;",
8989
"dateOfBirth" : "1990-01-01",
9090
"entityType" : "Company",
91-
"nationality" : "NL",
91+
"nationality" : "NL"
9292
}')</code></pre>
9393

9494
<h3 id="submitapayout">Submit a payout</h3>

lib/adyen/errors.rb

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
module Adyen
22
class AdyenError < StandardError
3-
attr_reader :code, :response, :request
3+
attr_reader :code, :response, :request, :msg
44

55
def initialize(request = nil, response = nil, msg = nil, code = nil)
6+
attributes = {
7+
code: code,
8+
request: request,
9+
response: response,
10+
msg: msg
11+
}.select { |_k, v| v }.map { |k, v| "#{k}:#{v}" }.join(', ')
12+
message = "#{self.class.name} #{attributes}"
13+
super(message)
614
@code = code
715
@response = response
816
@request = request
@@ -12,65 +20,44 @@ def initialize(request = nil, response = nil, msg = nil, code = nil)
1220

1321
class AuthenticationError < AdyenError
1422
def initialize(msg, request)
15-
@code = 401
16-
@response = nil
17-
@request = request
18-
@msg = msg
23+
super(request, nil, msg, 401)
1924
end
2025
end
2126

2227
class PermissionError < AdyenError
2328
def initialize(msg, request)
24-
@code = 403
25-
@response = nil
26-
@request = request
27-
@msg = msg
29+
super(request, nil, msg, 403)
2830
end
2931
end
3032

3133
class FormatError < AdyenError
3234
def initialize(msg, request, response)
33-
@code = 422
34-
@response = response
35-
@request = request
36-
@msg = msg
35+
super(request, response, msg, 422)
3736
end
3837
end
3938

4039
class ServerError < AdyenError
4140
def initialize(msg, request, response)
42-
@code = 500
43-
@response = response
44-
@request = request
45-
@msg = msg
41+
super(request, response, msg, 500)
4642
end
4743
end
4844

4945
class ConfigurationError < AdyenError
5046
def initialize(msg, request)
51-
@code = 905
52-
@response = nil
53-
@request = request
54-
@msg = msg
47+
super(request, nil, msg, 905)
5548
end
5649
end
5750

5851
class ValidationError < AdyenError
5952
def initialize(msg, request)
60-
@code = nil
61-
@response = nil
62-
@request = request
63-
@msg = msg
53+
super(request, nil, msg, nil)
6454
end
6555
end
6656

6757
# catchall for errors which don't have more specific classes
6858
class APIError < AdyenError
6959
def initialize(msg, request, response, code)
70-
@code = code
71-
@response = response
72-
@request = request
73-
@msg = msg
60+
super(request, response, msg, code)
7461
end
7562
end
7663
end

lib/adyen/services/checkout.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module Adyen
44
class Checkout < Service
5-
DEFAULT_VERSION = 41
5+
DEFAULT_VERSION = 49
66

77
def initialize(client, version = DEFAULT_VERSION)
88
service = 'Checkout'

lib/adyen/services/marketpay.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def initialize(client, version = DEFAULT_VERSION)
7272

7373
class Notification < Service
7474
attr_accessor :version
75-
DEFAULT_VERSION = 1
75+
DEFAULT_VERSION = 5
7676

7777
def initialize(client, version = DEFAULT_VERSION)
7878
service = 'Notification'

lib/adyen/services/payments.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
module Adyen
44
class Payments < Service
55
attr_accessor :version
6-
DEFAULT_VERSION = 40
6+
DEFAULT_VERSION = 49
77

88
def initialize(client, version = DEFAULT_VERSION)
99
service = 'Payment'

lib/adyen/services/recurring.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
module Adyen
44
class Recurring < Service
55
attr_accessor :version
6-
DEFAULT_VERSION = 25
6+
DEFAULT_VERSION = 30
77

88
def initialize(client, version = DEFAULT_VERSION)
99
service = 'Recurring'

lib/adyen/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
module Adyen
22
NAME = "adyen-ruby-api-library"
3-
VERSION = "2.0.0".freeze
3+
VERSION = "3.0.0".freeze
44
end

spec/errors_spec.rb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# frozen_string_literal: true
2+
3+
require 'spec_helper'
4+
5+
RSpec.describe Adyen::AdyenError do
6+
describe '#to_s' do
7+
it 'describes using the error properties' do
8+
expect(Adyen::AdyenError.new('request', 'response', 'message', 'code').to_s).to eq('Adyen::AdyenError code:code, request:request, response:response, msg:message')
9+
end
10+
it 'skips the null properties' do
11+
expect(Adyen::AdyenError.new('request', nil, nil, 'code').to_s).to eq('Adyen::AdyenError code:code, request:request')
12+
end
13+
it 'uses the proper error class name' do
14+
expect(Adyen::PermissionError.new('a message', 'a request').to_s).to eq('Adyen::PermissionError code:403, request:a request, msg:a message')
15+
end
16+
end
17+
end

0 commit comments

Comments
 (0)