currency_cloud 1.5.0 → 1.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ff39be06dcb0faa65bc812010599c47d8f1e917312258644b22960e4c72850d
4
- data.tar.gz: 0ffcf5886ea3067bdec2c5d4209fe6394e308e50530971661e194a6e90bb97d1
3
+ metadata.gz: aba622d82644ec9dfa06baed3fd128768f0043e350a6204d4100f6990b3be9a2
4
+ data.tar.gz: 0b152791dfd3699fe56c5bd33dae15b21061817f7699ab959913b1b4d50856f5
5
5
  SHA512:
6
- metadata.gz: d76ab0305e0cc12b9ab1a088671584879061635cfe6be5d24ddfa69daf68e3b26a2156d71c164dd6793135056bb5c2589fa6d6901d6a0c8f06cce90939a6f765
7
- data.tar.gz: 01eb849a8b67c5d63b999fcb04ad5cc94a79b9ffb576387d53f48c4ef71604ffa55f093c3dd775a46756a289d51cca4e5484e8e196550f6eb2302665aaae9bc6
6
+ metadata.gz: 2a7254323461010e096d9d91229fae857aa0d3d66bb90d943dc4f43a4143563c1dfce49d348695734cc070fdc595e9f9d1f3422b917da241a161867b0775ea30
7
+ data.tar.gz: aeed5ff5d179f35e52e83e0d3ab38b3c416453a821e1e490568b41f878125589375a27cad4628b9ea2792ffbf544ec7ecd695c1286d1c1df5552a6ae73721235
data/README.md CHANGED
@@ -162,6 +162,10 @@ Once a feature has been marked as deprecated, we no longer develop the code or i
162
162
  (No features are currently being deprecated)
163
163
  ```
164
164
 
165
+ # Security Consideration
166
+ 1. Authentication
167
+ 1. All data under [this folder](spec/support/vcr_cassettes) provide and return dummy credentials to verify that authentication workflows behave as expected.
168
+
165
169
  # Support
166
170
  We actively support the latest version of the SDK. We support the immediate previous version on best-efforts basis. All other versions are no longer supported nor maintained.
167
171
 
@@ -1,3 +1,5 @@
1
+ require 'forwardable'
2
+
1
3
  module CurrencyCloud
2
4
  class ResourcefulCollection
3
5
  include Enumerable
@@ -0,0 +1,12 @@
1
+ module CurrencyCloud
2
+ class TermAndCondition
3
+ include CurrencyCloud::Resource
4
+
5
+ resource :terms_and_conditions
6
+
7
+ def self.accept(params = {})
8
+ result = client.post("accept", params)
9
+ TermsAndConditions.new(result)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CurrencyCloud
4
+ class TermsAndConditions
5
+ include CurrencyCloud::Resource
6
+ end
7
+ end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module CurrencyCloud
4
4
  API_VERSION = "v2".freeze # API Version
5
- VERSION = "1.5.0".freeze # Gem Version
5
+ VERSION = "1.6.0".freeze # Gem Version
6
6
  end
@@ -0,0 +1,25 @@
1
+ require "spec_helper"
2
+
3
+ describe "TermsAndConditions", vcr: true do
4
+ before do
5
+ CurrencyCloud.login_id = "development@currencycloud.com"
6
+ CurrencyCloud.api_key = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"
7
+ CurrencyCloud.environment = :demonstration
8
+ CurrencyCloud.reset_session
9
+ end
10
+
11
+ it "can accept terms" do
12
+ terms_and_conditions_result = CurrencyCloud::TermAndCondition.accept(
13
+ type: "VGSI",
14
+ version: "1.0",
15
+ first_name: "firstName",
16
+ last_name: "lastName",
17
+ email: "development@currencycloud.com",
18
+ reference_type: "ACCOUNT",
19
+ reference_id: "ebcaee2f-a733-11ef-8de2-0242ac1d0002"
20
+ )
21
+ expect(terms_and_conditions_result).to be_a(CurrencyCloud::TermsAndConditions)
22
+ expect(terms_and_conditions_result.acceptance_id).to eq("1c4667dd-ddea-47e8-a0d7-e39d9cce1a39")
23
+ expect(terms_and_conditions_result.accepted_at).to eq("2024-10-04T15:27:04.052814529")
24
+ end
25
+ end
@@ -0,0 +1,140 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://devapi.currencycloud.com/v2/authenticate/api
6
+ body:
7
+ encoding: UTF-8
8
+ string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
+ headers:
10
+ User-Agent:
11
+ - CurrencyCloudSDK/2.0 Ruby/1.5.0
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Tue, 06 Oct 2020 14:57:04 GMT
19
+ Content-Type:
20
+ - application/json;charset=utf-8
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Connection:
24
+ - keep-alive
25
+ Set-Cookie:
26
+ - AWSALB=+5Bn07KhTyd8ay/xxyjs4ZHckx+wkDTfrA80GorY54ZviIp/vvD/sBmk/jf5S5i1YrEEgjnAFwp3USqW3T89BGjsd9wszWiebB0mbJ/aL4Ets4ZrWBECalxs5pJT;
27
+ Expires=Tue, 13 Oct 2020 14:57:02 GMT; Path=/
28
+ - AWSALBCORS=+5Bn07KhTyd8ay/xxyjs4ZHckx+wkDTfrA80GorY54ZviIp/vvD/sBmk/jf5S5i1YrEEgjnAFwp3USqW3T89BGjsd9wszWiebB0mbJ/aL4Ets4ZrWBECalxs5pJT;
29
+ Expires=Tue, 13 Oct 2020 14:57:02 GMT; Path=/; SameSite=None; Secure
30
+ - __cfduid=d70c09bac27ff94e69a66c56e09ea0e211601996222; expires=Thu, 05-Nov-20
31
+ 14:57:02 GMT; path=/; domain=.currencycloud.com; HttpOnly; SameSite=Lax
32
+ Access-Control-Allow-Origin:
33
+ - "*"
34
+ X-Request-Id:
35
+ - ca2e91bf-0038-4e36-b0a8-5ab248553304
36
+ Access-Control-Allow-Methods:
37
+ - POST
38
+ X-Content-Type-Options:
39
+ - nosniff
40
+ Vary:
41
+ - Origin
42
+ Access-Control-Allow-Headers:
43
+ - authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,X-Auth-Token,Origin,Authority,User-Agent
44
+ Cf-Cache-Status:
45
+ - DYNAMIC
46
+ Cf-Request-Id:
47
+ - 05a00389200000ce2fb1be0200000001
48
+ Expect-Ct:
49
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
50
+ Strict-Transport-Security:
51
+ - max-age=2592000; includeSubDomains
52
+ Server:
53
+ - cloudflare
54
+ Cf-Ray:
55
+ - 5de03b883b41ce2f-LHR
56
+ body:
57
+ encoding: UTF-8
58
+ string: '{"auth_token":"deadbeefdeadbeefdeadbeefdeadbeef"}'
59
+ http_version:
60
+ recorded_at: Tue, 06 Oct 2020 14:57:04 GMT
61
+ - request:
62
+ method: post
63
+ uri: https://devapi.currencycloud.com/v2/terms_and_conditions/accept
64
+ body:
65
+ encoding: UTF-8
66
+ string: type=VGSI&version=1.0&first_name=firstName&last_name=lastName&email=development%40currencycloud.com&reference_type=ACCOUNT&reference_id=ebcaee2f-a733-11ef-8de2-0242ac1d0002
67
+ headers:
68
+ X-Auth-Token:
69
+ - deadbeefdeadbeefdeadbeefdeadbeef
70
+ User-Agent:
71
+ - CurrencyCloudSDK/2.0 Ruby/1.5.0
72
+ response:
73
+ status:
74
+ code: 200
75
+ message: OK
76
+ headers:
77
+ Date:
78
+ - Tue, 23 Nov 2024 14:58:18 GMT
79
+ Content-Type:
80
+ - application/json; charset=UTF-8
81
+ Transfer-Encoding:
82
+ - chunked
83
+ Connection:
84
+ - keep-alive
85
+ Set-Cookie:
86
+ - AWSALB=zAxJVt+VYDZWl6uY00wpKwEbXjrgXTN+qejbio2A6YS8V+6lBqAR0Jnjlp4JytpEUfEahh/dd7tsj9RU6ZNBzRB/wzZTdwEXJgUsfoK9w6nlmcq8fEHp7KfxeQaZ;
87
+ Expires=Tue, 13 Oct 2020 14:58:18 GMT; Path=/
88
+ - AWSALBCORS=zAxJVt+VYDZWl6uY00wpKwEbXjrgXTN+qejbio2A6YS8V+6lBqAR0Jnjlp4JytpEUfEahh/dd7tsj9RU6ZNBzRB/wzZTdwEXJgUsfoK9w6nlmcq8fEHp7KfxeQaZ;
89
+ Expires=Tue, 13 Oct 2020 14:58:18 GMT; Path=/; SameSite=None; Secure
90
+ - __cfduid=d8cdf69d035d7aafb48f8bef431d260cd1601996298; expires=Thu, 05-Nov-20
91
+ 14:58:18 GMT; path=/; domain=.currencycloud.com; HttpOnly; SameSite=Lax
92
+ Cf-Ipcountry:
93
+ - GB
94
+ Access-Control-Allow-Origin:
95
+ - "*"
96
+ Access-Control-Allow-Methods:
97
+ - DELETE,POST,GET,OPTIONS,PATCH,PUT
98
+ User-Agent:
99
+ - CurrencyCloudSDK/2.0 Ruby/1.5.0
100
+ X-Forwarded-Proto:
101
+ - https
102
+ Cdn-Loop:
103
+ - cloudflare
104
+ Cf-Visitor:
105
+ - '{"scheme":"https"}'
106
+ Accept-Encoding:
107
+ - gzip
108
+ Cf-Connecting-Ip:
109
+ - 217.168.17.4
110
+ X-Forwarded-Port:
111
+ - '443'
112
+ Access-Control-Allow-Headers:
113
+ - authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,X-Auth-Token,Origin,Authority,User-Agent
114
+ X-Amzn-Trace-Id:
115
+ - Root=1-5f7c860a-483eb0410e5e568b35f74737
116
+ Wso2-Am-Api-Default-Version:
117
+ - 'true'
118
+ X-Auth-Token:
119
+ - deadbeefdeadbeefdeadbeefdeadbeef
120
+ X-Forwarded-For:
121
+ - 217.168.17.4, 141.101.99.87
122
+ Cf-Request-Id:
123
+ - 05a004b1cd00000762bf043200000001
124
+ Cf-Cache-Status:
125
+ - DYNAMIC
126
+ Expect-Ct:
127
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
128
+ Strict-Transport-Security:
129
+ - max-age=2592000; includeSubDomains
130
+ Server:
131
+ - cloudflare
132
+ Cf-Ray:
133
+ - 5de03d62eeb50762-LHR
134
+ body:
135
+ encoding: UTF-8
136
+ string: |-
137
+ { "acceptance_id": "1c4667dd-ddea-47e8-a0d7-e39d9cce1a39", "accepted_at": "2024-10-04T15:27:04.052814529"}
138
+ http_version:
139
+ recorded_at: Tue, 06 Oct 2020 14:58:18 GMT
140
+ recorded_with: VCR 5.0.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: currency_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam McAndrew
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-08-28 00:00:00.000000000 Z
12
+ date: 2024-12-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -195,6 +195,8 @@ files:
195
195
  - lib/currency_cloud/sender_details_result.rb
196
196
  - lib/currency_cloud/session.rb
197
197
  - lib/currency_cloud/settlement_account.rb
198
+ - lib/currency_cloud/term_and_condition.rb
199
+ - lib/currency_cloud/terms_and_conditions.rb
198
200
  - lib/currency_cloud/transaction.rb
199
201
  - lib/currency_cloud/transfer.rb
200
202
  - lib/currency_cloud/version.rb
@@ -219,6 +221,7 @@ files:
219
221
  - spec/integration/rates_spec.rb
220
222
  - spec/integration/reference_spec.rb
221
223
  - spec/integration/reports_spec.rb
224
+ - spec/integration/term_and_condition_spec.rb
222
225
  - spec/integration/transactions_spec.rb
223
226
  - spec/integration/transfers_spec.rb
224
227
  - spec/integration/virtual_accounts_spec.rb
@@ -289,6 +292,7 @@ files:
289
292
  - spec/support/vcr_cassettes/Reports/can_create_payments_report.yml
290
293
  - spec/support/vcr_cassettes/Reports/can_find_report_requests.yml
291
294
  - spec/support/vcr_cassettes/Reports/can_retrieve_report_request.yml
295
+ - spec/support/vcr_cassettes/TermsAndConditions/can_accept_terms.yml
292
296
  - spec/support/vcr_cassettes/Transactions/can_retrieve_sender_details.yml
293
297
  - spec/support/vcr_cassettes/Transfers/can_cancel.yml
294
298
  - spec/support/vcr_cassettes/Transfers/can_create.yml
@@ -340,6 +344,7 @@ test_files:
340
344
  - spec/integration/rates_spec.rb
341
345
  - spec/integration/reference_spec.rb
342
346
  - spec/integration/reports_spec.rb
347
+ - spec/integration/term_and_condition_spec.rb
343
348
  - spec/integration/transactions_spec.rb
344
349
  - spec/integration/transfers_spec.rb
345
350
  - spec/integration/virtual_accounts_spec.rb
@@ -410,6 +415,7 @@ test_files:
410
415
  - spec/support/vcr_cassettes/Reports/can_create_payments_report.yml
411
416
  - spec/support/vcr_cassettes/Reports/can_find_report_requests.yml
412
417
  - spec/support/vcr_cassettes/Reports/can_retrieve_report_request.yml
418
+ - spec/support/vcr_cassettes/TermsAndConditions/can_accept_terms.yml
413
419
  - spec/support/vcr_cassettes/Transactions/can_retrieve_sender_details.yml
414
420
  - spec/support/vcr_cassettes/Transfers/can_cancel.yml
415
421
  - spec/support/vcr_cassettes/Transfers/can_create.yml