mollie-api-ruby 4.3.1 → 4.4.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 +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/mollie/customer/mandate.rb +1 -0
- data/lib/mollie/customer/subscription.rb +3 -3
- data/lib/mollie/method.rb +10 -0
- data/lib/mollie/order/line.rb +5 -0
- data/lib/mollie/organization.rb +5 -1
- data/lib/mollie/version.rb +1 -1
- data/test/fixtures/orders/create.json +6 -0
- data/test/fixtures/orders/get.json +6 -0
- data/test/mollie/customer/mandate_test.rb +2 -0
- data/test/mollie/method_test.rb +13 -5
- data/test/mollie/order_test.rb +4 -0
- data/test/mollie/organization_test.rb +14 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bda09fc2f11315a55ec2855fe42c43563bd7df1bd9eb7ab04068a9338fb9b7a7
|
4
|
+
data.tar.gz: 1b3f950d14b5e3317ee95fec61e5a41b216dc4b23414e6696622ca275647eb91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1cb2f00bf7c074f9e5fbe0bef6ec8a53ec164cdf1d917db1f551553c7c029e2859195a78af18bb2fb8208d5d059ae5868bf6740d83d2b31582ce9b1a6d7eb7f
|
7
|
+
data.tar.gz: adbcb09e6260362af9d666e1e4f351a0ee7b7da5b64efdbfdebb65d83c0bbe4ba33516e99b659a8234e4bf0ee6665f940fd284b1db14b28559f9ba3f83b0ac5e
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,14 @@
|
|
4
4
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
6
6
|
|
7
|
+
## 4.4.0 - 2019-07-11
|
8
|
+
|
9
|
+
- Mandate: add `mode` attribute
|
10
|
+
- Organization: add `_links` helper method
|
11
|
+
- Organization: add `locale` attribute
|
12
|
+
- OrderLine: add `metadata` attribute
|
13
|
+
- Method: add `minimumAmount` and `maximumAmount` attributes
|
14
|
+
|
7
15
|
### 4.3.1 - 2019-06-08
|
8
16
|
|
9
17
|
- Added the option to pass additional request options when creating a new resource.
|
data/lib/mollie/method.rb
CHANGED
@@ -21,9 +21,19 @@ module Mollie
|
|
21
21
|
|
22
22
|
attr_accessor :id,
|
23
23
|
:description,
|
24
|
+
:minimum_amount,
|
25
|
+
:maximum_amount,
|
24
26
|
:image,
|
25
27
|
:issuers
|
26
28
|
|
29
|
+
def minimum_amount=(minimum_amount)
|
30
|
+
@minimum_amount = Mollie::Amount.new(minimum_amount)
|
31
|
+
end
|
32
|
+
|
33
|
+
def maximum_amount=(maximum_amount)
|
34
|
+
@maximum_amount = Mollie::Amount.new(maximum_amount)
|
35
|
+
end
|
36
|
+
|
27
37
|
def normal_image
|
28
38
|
image['size1x']
|
29
39
|
end
|
data/lib/mollie/order/line.rb
CHANGED
@@ -6,6 +6,7 @@ module Mollie
|
|
6
6
|
:type,
|
7
7
|
:name,
|
8
8
|
:status,
|
9
|
+
:metadata,
|
9
10
|
:is_cancelable,
|
10
11
|
:quantity,
|
11
12
|
:quantity_shipped,
|
@@ -52,6 +53,10 @@ module Mollie
|
|
52
53
|
Util.extract_url(links, 'image_url')
|
53
54
|
end
|
54
55
|
|
56
|
+
def metadata=(metadata)
|
57
|
+
@metadata = OpenStruct.new(metadata) if metadata.is_a?(Hash)
|
58
|
+
end
|
59
|
+
|
55
60
|
def amount_shipped=(amount)
|
56
61
|
@amount_shipped = Mollie::Amount.new(amount)
|
57
62
|
end
|
data/lib/mollie/organization.rb
CHANGED
@@ -2,10 +2,14 @@ module Mollie
|
|
2
2
|
class Organization < Base
|
3
3
|
attr_accessor :id,
|
4
4
|
:name,
|
5
|
+
:locale,
|
5
6
|
:email,
|
6
7
|
:address,
|
7
8
|
:registration_number,
|
8
|
-
:vat_number
|
9
|
+
:vat_number,
|
10
|
+
:_links
|
11
|
+
|
12
|
+
alias links _links
|
9
13
|
|
10
14
|
def self.current(options = {})
|
11
15
|
get('me', options)
|
data/lib/mollie/version.rb
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
"currency": "EUR"
|
5
5
|
},
|
6
6
|
"billingAddress": {
|
7
|
+
"organizationName": "Mollie B.V.",
|
7
8
|
"streetAndNumber": "Keizersgracht 313",
|
8
9
|
"city": "Amsterdam",
|
9
10
|
"region": "Noord-Holland",
|
@@ -16,6 +17,7 @@
|
|
16
17
|
"phone": "+31208202070"
|
17
18
|
},
|
18
19
|
"shippingAddress": {
|
20
|
+
"organizationName": "Mollie B.V.",
|
19
21
|
"streetAndNumber": "Prinsengracht 313",
|
20
22
|
"streetAdditional": "4th floor",
|
21
23
|
"city": "Haarlem",
|
@@ -44,6 +46,10 @@
|
|
44
46
|
"name": "LEGO 42083 Bugatti Chiron",
|
45
47
|
"productUrl": "https://shop.lego.com/nl-NL/Bugatti-Chiron-42083",
|
46
48
|
"imageUrl": "https://sh-s7-live-s.legocdn.com/is/image//LEGO/42083_alt1?$main$",
|
49
|
+
"metadata": {
|
50
|
+
"order_id": "1337",
|
51
|
+
"description": "Bugatti Chiron"
|
52
|
+
},
|
47
53
|
"quantity": 2,
|
48
54
|
"vatRate": "21.00",
|
49
55
|
"unitPrice": {
|
@@ -26,6 +26,7 @@
|
|
26
26
|
"mode": "live",
|
27
27
|
"locale": "nl_NL",
|
28
28
|
"billingAddress": {
|
29
|
+
"organizationName": "Mollie B.V.",
|
29
30
|
"streetAndNumber": "Keizersgracht 313",
|
30
31
|
"postalCode": "1016 EE",
|
31
32
|
"city": "Amsterdam",
|
@@ -36,6 +37,7 @@
|
|
36
37
|
},
|
37
38
|
"orderNumber": "18475",
|
38
39
|
"shippingAddress": {
|
40
|
+
"organizationName": "Mollie B.V.",
|
39
41
|
"streetAndNumber": "Keizersgracht 313",
|
40
42
|
"postalCode": "1016 EE",
|
41
43
|
"city": "Amsterdam",
|
@@ -60,6 +62,10 @@
|
|
60
62
|
"sku": "5702016116977",
|
61
63
|
"type": "physical",
|
62
64
|
"status": "created",
|
65
|
+
"metadata": {
|
66
|
+
"order_id": "1337",
|
67
|
+
"description": "Bugatti Chiron"
|
68
|
+
},
|
63
69
|
"isCancelable": true,
|
64
70
|
"quantity": 2,
|
65
71
|
"quantityShipped": 0,
|
@@ -6,6 +6,7 @@ module Mollie
|
|
6
6
|
def test_setting_attributes
|
7
7
|
attributes = {
|
8
8
|
id: 'mdt_h3gAaD5zP',
|
9
|
+
mode: 'test',
|
9
10
|
status: 'valid',
|
10
11
|
method: 'creditcard',
|
11
12
|
details: {
|
@@ -34,6 +35,7 @@ module Mollie
|
|
34
35
|
mandate = Mandate.new(attributes)
|
35
36
|
|
36
37
|
assert_equal 'mdt_h3gAaD5zP', mandate.id
|
38
|
+
assert_equal 'test', mandate.mode
|
37
39
|
assert_equal 'valid', mandate.status
|
38
40
|
assert_equal 'creditcard', mandate.method
|
39
41
|
assert_equal 'YOUR-COMPANY-MD1380', mandate.mandate_reference
|
data/test/mollie/method_test.rb
CHANGED
@@ -6,9 +6,12 @@ module Mollie
|
|
6
6
|
attributes = {
|
7
7
|
id: 'creditcard',
|
8
8
|
description: 'Credit card',
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
minimum_amount: { value: '0.01', currency: 'EUR' },
|
10
|
+
maximum_amount: { value: '2000.00', currency: 'EUR' },
|
11
|
+
image: {
|
12
|
+
'size1x' => 'https://www.mollie.com/external/icons/payment-methods/creditcard.png',
|
13
|
+
'size2x' => 'https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png',
|
14
|
+
'svg' => 'https://www.mollie.com/external/icons/payment-methods/creditcard.svg'
|
12
15
|
}
|
13
16
|
}
|
14
17
|
|
@@ -16,8 +19,13 @@ module Mollie
|
|
16
19
|
|
17
20
|
assert_equal 'creditcard', method.id
|
18
21
|
assert_equal 'Credit card', method.description
|
19
|
-
assert_equal '
|
20
|
-
assert_equal '
|
22
|
+
assert_equal BigDecimal('0.01'), method.minimum_amount.value
|
23
|
+
assert_equal 'EUR', method.minimum_amount.currency
|
24
|
+
assert_equal BigDecimal('2000.00'), method.maximum_amount.value
|
25
|
+
assert_equal 'EUR', method.maximum_amount.currency
|
26
|
+
assert_equal 'https://www.mollie.com/external/icons/payment-methods/creditcard.png', method.normal_image
|
27
|
+
assert_equal 'https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png', method.bigger_image
|
28
|
+
assert_equal 'https://www.mollie.com/external/icons/payment-methods/creditcard.svg', method.image['svg']
|
21
29
|
end
|
22
30
|
end
|
23
31
|
end
|
data/test/mollie/order_test.rb
CHANGED
@@ -102,6 +102,7 @@ module Mollie
|
|
102
102
|
.to_return(status: 200, body: GET_ORDER, headers: {})
|
103
103
|
|
104
104
|
order = Order.get('ord_kEn1PlbGa')
|
105
|
+
assert_equal 'Mollie B.V.', order.billing_address.organization_name
|
105
106
|
assert_equal 'Keizersgracht 313', order.billing_address.street_and_number
|
106
107
|
assert_equal '1016 EE', order.billing_address.postal_code
|
107
108
|
assert_equal 'Amsterdam', order.billing_address.city
|
@@ -116,6 +117,7 @@ module Mollie
|
|
116
117
|
.to_return(status: 200, body: GET_ORDER, headers: {})
|
117
118
|
|
118
119
|
order = Order.get('ord_kEn1PlbGa')
|
120
|
+
assert_equal 'Mollie B.V.', order.shipping_address.organization_name
|
119
121
|
assert_equal 'Keizersgracht 313', order.shipping_address.street_and_number
|
120
122
|
assert_equal '1016 EE', order.shipping_address.postal_code
|
121
123
|
assert_equal 'Amsterdam', order.shipping_address.city
|
@@ -141,6 +143,8 @@ module Mollie
|
|
141
143
|
assert_equal '5702016116977', line.sku
|
142
144
|
assert_equal 'physical', line.type
|
143
145
|
assert_equal 'created', line.status
|
146
|
+
assert_equal '1337', line.metadata.order_id
|
147
|
+
assert_equal 'Bugatti Chiron', line.metadata.description
|
144
148
|
assert_equal true, line.is_cancelable
|
145
149
|
assert_equal true, line.cancelable?
|
146
150
|
assert_equal 2, line.quantity
|
@@ -6,6 +6,7 @@ module Mollie
|
|
6
6
|
attributes = {
|
7
7
|
id: 'org_12345678',
|
8
8
|
name: 'Mollie B.V.',
|
9
|
+
locale: 'nl_NL',
|
9
10
|
email: 'info@mollie.com',
|
10
11
|
address: {
|
11
12
|
street_and_number: 'Keizersgracht 313',
|
@@ -14,13 +15,24 @@ module Mollie
|
|
14
15
|
country: 'NL'
|
15
16
|
},
|
16
17
|
registration_number: '30204462',
|
17
|
-
vat_number: 'NL815839091B01'
|
18
|
+
vat_number: 'NL815839091B01',
|
19
|
+
_links: {
|
20
|
+
'self' => {
|
21
|
+
'href' => 'https://api.mollie.com/v2/organizations/org_12345678',
|
22
|
+
'type' => 'application/hal+json'
|
23
|
+
},
|
24
|
+
'documentation' => {
|
25
|
+
'href' => 'https://docs.mollie.com/reference/v2/organizations-api/get-organization',
|
26
|
+
'type' => 'text/html'
|
27
|
+
}
|
28
|
+
}
|
18
29
|
}
|
19
30
|
|
20
31
|
organization = Organization.new(attributes)
|
21
32
|
|
22
33
|
assert_equal 'org_12345678', organization.id
|
23
34
|
assert_equal 'Mollie B.V.', organization.name
|
35
|
+
assert_equal 'nl_NL', organization.locale
|
24
36
|
assert_equal 'info@mollie.com', organization.email
|
25
37
|
assert_equal 'Keizersgracht 313', organization.address.street_and_number
|
26
38
|
assert_equal '1016 EE', organization.address.postal_code
|
@@ -28,6 +40,7 @@ module Mollie
|
|
28
40
|
assert_equal 'NL', organization.address.country
|
29
41
|
assert_equal '30204462', organization.registration_number
|
30
42
|
assert_equal 'NL815839091B01', organization.vat_number
|
43
|
+
assert_equal 'https://api.mollie.com/v2/organizations/org_12345678', organization.links['self']['href']
|
31
44
|
end
|
32
45
|
|
33
46
|
def test_current_organization
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mollie-api-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mollie B.V.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -270,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
270
|
- !ruby/object:Gem::Version
|
271
271
|
version: '0'
|
272
272
|
requirements: []
|
273
|
-
rubygems_version: 3.0.
|
273
|
+
rubygems_version: 3.0.4
|
274
274
|
signing_key:
|
275
275
|
specification_version: 4
|
276
276
|
summary: Official Mollie API Client for Ruby
|