gocardless_pro 1.0.5 → 1.1.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/lib/gocardless_pro/api_service.rb +3 -3
  4. data/lib/gocardless_pro/resources/bank_details_lookup.rb +8 -10
  5. data/lib/gocardless_pro/resources/creditor.rb +36 -42
  6. data/lib/gocardless_pro/resources/creditor_bank_account.rb +24 -38
  7. data/lib/gocardless_pro/resources/customer.rb +12 -27
  8. data/lib/gocardless_pro/resources/customer_bank_account.rb +26 -39
  9. data/lib/gocardless_pro/resources/event.rb +49 -40
  10. data/lib/gocardless_pro/resources/mandate.rb +33 -35
  11. data/lib/gocardless_pro/resources/mandate_pdf.rb +10 -11
  12. data/lib/gocardless_pro/resources/payment.rb +34 -42
  13. data/lib/gocardless_pro/resources/payout.rb +23 -34
  14. data/lib/gocardless_pro/resources/redirect_flow.rb +49 -54
  15. data/lib/gocardless_pro/resources/refund.rb +24 -39
  16. data/lib/gocardless_pro/resources/subscription.rb +65 -84
  17. data/lib/gocardless_pro/services/bank_details_lookups_service.rb +6 -5
  18. data/lib/gocardless_pro/services/creditor_bank_accounts_service.rb +7 -6
  19. data/lib/gocardless_pro/services/creditors_service.rb +7 -6
  20. data/lib/gocardless_pro/services/customer_bank_accounts_service.rb +11 -10
  21. data/lib/gocardless_pro/services/customers_service.rb +7 -6
  22. data/lib/gocardless_pro/services/events_service.rb +8 -6
  23. data/lib/gocardless_pro/services/mandate_pdfs_service.rb +6 -5
  24. data/lib/gocardless_pro/services/mandates_service.rb +7 -6
  25. data/lib/gocardless_pro/services/payments_service.rb +7 -6
  26. data/lib/gocardless_pro/services/payouts_service.rb +7 -6
  27. data/lib/gocardless_pro/services/redirect_flows_service.rb +6 -5
  28. data/lib/gocardless_pro/services/refunds_service.rb +7 -6
  29. data/lib/gocardless_pro/services/subscriptions_service.rb +7 -6
  30. data/lib/gocardless_pro/version.rb +1 -1
  31. data/lib/gocardless_pro.rb +2 -3
  32. data/spec/resources/creditor_spec.rb +9 -1
  33. data/spec/resources/event_spec.rb +4 -0
  34. data/spec/resources/mandate_spec.rb +9 -1
  35. data/spec/resources/subscription_spec.rb +0 -4
  36. data/spec/services/creditor_bank_accounts_service_spec.rb +8 -0
  37. data/spec/services/creditors_service_spec.rb +39 -9
  38. data/spec/services/customer_bank_accounts_service_spec.rb +8 -0
  39. data/spec/services/customers_service_spec.rb +8 -0
  40. data/spec/services/events_service_spec.rb +8 -0
  41. data/spec/services/mandates_service_spec.rb +8 -0
  42. data/spec/services/payments_service_spec.rb +8 -0
  43. data/spec/services/payouts_service_spec.rb +8 -0
  44. data/spec/services/redirect_flows_service_spec.rb +8 -0
  45. data/spec/services/refunds_service_spec.rb +8 -0
  46. data/spec/services/subscriptions_service_spec.rb +8 -13
  47. metadata +19 -19
@@ -1,122 +1,109 @@
1
-
2
-
3
1
  # encoding: utf-8
4
2
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
- #
7
- # https://github.com/gocardless/crank
3
+ # This client is automatically generated from a template and JSON schema definition.
4
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
8
5
  #
6
+
9
7
  require 'uri'
10
8
 
11
9
  module GoCardlessPro
12
10
  # A module containing classes for each of the resources in the GC Api
13
11
  module Resources
12
+ # Represents an instance of a subscription resource returned from the API
13
+
14
14
  # Subscriptions create [payments](#core-endpoints-payments) according to a
15
15
  # schedule.
16
16
  #
17
- # #### Recurrence Rules
17
+ # ### Recurrence Rules
18
18
  #
19
- # The following rules apply
20
- # when specifying recurrence:
21
- # - The first payment must be charged within 1
22
- # year.
23
- # - When neither `month` nor `day_of_month` are present, the
24
- # subscription will recur from the `start_date` based on the `interval_unit`.
25
-
26
- # # - If `month` or `day_of_month` are present, the recurrence rules will be
27
- # applied from the `start_date`, and the following validations apply:
19
+ # The following
20
+ # rules apply when specifying recurrence:
28
21
  #
22
+ # - The first payment
23
+ # must be charged within 1 year.
24
+ # - When neither `month` nor
25
+ # `day_of_month` are present, the subscription will recur from the
26
+ # `start_date` based on the `interval_unit`.
27
+ # - If `month` or
28
+ # `day_of_month` are present, the recurrence rules will be applied from the
29
+ # `start_date`, and the following validations apply:
29
30
  #
30
- # | interval_unit | month |
31
+ # |
32
+ # interval_unit | month |
31
33
  # day_of_month |
32
34
  # | :-------------- |
33
35
  # :--------------------------------------------- |
34
36
  # :-------------------------------------- |
35
- # | yearly | optional
36
- # (required if `day_of_month` provided) | optional (required if `month`
37
- # provided) |
37
+ # | yearly |
38
+ # optional (required if `day_of_month` provided) | optional (required if
39
+ # `month` provided) |
38
40
  # | monthly | invalid
39
- # | required |
40
- # | weekly |
41
- # invalid | invalid
42
- # |
41
+ # | required |
42
+ # |
43
+ # weekly | invalid | invalid
44
+ # |
43
45
  #
44
46
  # Examples:
45
47
  #
46
- # | interval_unit | interval |
47
- # month | day_of_month | valid?
48
- # |
49
- # | :-------------- | :--------- | :------ | :------------- |
48
+ # |
49
+ # interval_unit | interval | month | day_of_month | valid?
50
+ # |
51
+ # | :-------------- | :--------- |
52
+ # :------ | :------------- |
50
53
  # :------------------------------------------------- |
51
- # | yearly |
52
- # 1 | january | -1 | valid
53
- # |
54
+ # | yearly
55
+ # | 1 | january | -1 | valid
56
+ # |
54
57
  # | yearly | 1 | march |
55
- # | invalid - missing `day_of_month` |
56
- # | monthly
57
- # | 6 | | 12 | valid
58
- # |
59
- # | monthly | 6 | august | 12
60
- # | invalid - `month` must be blank |
58
+ # | invalid - missing `day_of_month` |
59
+ # |
60
+ # monthly | 6 | | 12 | valid
61
+ # |
62
+ # | monthly | 6 |
63
+ # august | 12 | invalid - `month` must be blank
64
+ # |
65
+ # | weekly | 2 | | |
66
+ # valid |
61
67
  # | weekly
62
- # | 2 | | | valid
63
- # |
64
- # | weekly | 2 | october | 10
65
- # | invalid - `month` and `day_of_month` must be blank |
68
+ # | 2 | october | 10 | invalid - `month` and
69
+ # `day_of_month` must be blank |
70
+ #
71
+ # ### Rolling dates
66
72
  #
67
- # ####
68
- # Rolling dates
69
73
  #
70
- # When a charge date falls on a non-business day, one
71
- # of two things will happen:
74
+ # When a charge date falls on a non-business day, one of two things will
75
+ # happen:
72
76
  #
73
- # - if the recurrence rule specified `-1`
74
- # as the `day_of_month`, the charge date will be rolled __backwards__ to the
77
+ # - if the recurrence rule specified `-1` as the
78
+ # `day_of_month`, the charge date will be rolled __backwards__ to the
75
79
  # previous business day (i.e., the last working day of the month).
76
80
  # -
77
81
  # otherwise the charge date will be rolled __forwards__ to the next business
78
82
  # day.
79
83
  #
80
- # Represents an instance of a subscription resource returned from the API
81
84
  class Subscription
82
85
  attr_reader :amount
83
-
84
- attr_reader :count
85
-
86
86
  attr_reader :created_at
87
-
88
87
  attr_reader :currency
89
-
90
88
  attr_reader :day_of_month
91
-
92
89
  attr_reader :end_date
93
-
94
90
  attr_reader :id
95
-
96
91
  attr_reader :interval
97
-
98
92
  attr_reader :interval_unit
99
-
100
93
  attr_reader :metadata
101
-
102
94
  attr_reader :month
103
-
104
95
  attr_reader :name
105
-
106
96
  attr_reader :payment_reference
107
-
108
97
  attr_reader :start_date
109
-
110
98
  attr_reader :status
111
-
112
99
  attr_reader :upcoming_payments
113
- # initialize a resource instance
100
+
101
+ # Initialize a subscription resource instance
114
102
  # @param object [Hash] an object returned from the API
115
103
  def initialize(object, response = nil)
116
104
  @object = object
117
105
 
118
106
  @amount = object['amount']
119
- @count = object['count']
120
107
  @created_at = object['created_at']
121
108
  @currency = object['currency']
122
109
  @day_of_month = object['day_of_month']
@@ -139,31 +126,25 @@ module GoCardlessPro
139
126
  ApiResponse.new(@response)
140
127
  end
141
128
 
142
- # return the links that the resource has
129
+ # Return the links that the resource has
143
130
  def links
144
- valid_link_keys = %w(mandate )
145
- valid_links = (@links || {}).select { |key, _| valid_link_keys.include?(key) }
146
-
147
- links_class = Struct.new(
148
- *{
149
-
150
- mandate: ''
151
-
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)
131
+ @links_links ||= Links.new(@links)
161
132
  end
162
133
 
163
- # Provides the resource as a hash of all it's readable attributes
134
+ # Provides the subscription resource as a hash of all its readable attributes
164
135
  def to_h
165
136
  @object
166
137
  end
138
+
139
+ class Links
140
+ def initialize(links)
141
+ @links = links
142
+ end
143
+
144
+ def mandate
145
+ @links['mandate']
146
+ end
147
+ end
167
148
  end
168
149
  end
169
150
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -52,12 +53,12 @@ module GoCardlessPro
52
53
  'bank_details_lookups'
53
54
  end
54
55
 
55
- # take a URL with placeholder params and substitute them out for the acutal value
56
+ # take a URL with placeholder params and substitute them out for the actual value
56
57
  # @param url [String] the URL with placeholders in
57
- # @param param_map [Hash] a hash of placeholders and their actual values
58
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
58
59
  def sub_url(url, param_map)
59
60
  param_map.reduce(url) do |new_url, (param, value)|
60
- new_url.gsub(":#{param}", value)
61
+ new_url.gsub(":#{param}", URI.escape(value))
61
62
  end
62
63
  end
63
64
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -26,7 +27,7 @@ module GoCardlessPro
26
27
  Resources::CreditorBankAccount.new(unenvelope_body(response.body), response)
27
28
  end
28
29
 
29
- # Returns a [cursor-paginated](#overview-cursor-pagination) list of your
30
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
30
31
  # creditor bank accounts.
31
32
  # Example URL: /creditor_bank_accounts
32
33
  # @param options [Hash] parameters as a hash, under a params key.
@@ -106,12 +107,12 @@ module GoCardlessPro
106
107
  'creditor_bank_accounts'
107
108
  end
108
109
 
109
- # take a URL with placeholder params and substitute them out for the acutal value
110
+ # take a URL with placeholder params and substitute them out for the actual value
110
111
  # @param url [String] the URL with placeholders in
111
- # @param param_map [Hash] a hash of placeholders and their actual values
112
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
112
113
  def sub_url(url, param_map)
113
114
  param_map.reduce(url) do |new_url, (param, value)|
114
- new_url.gsub(":#{param}", value)
115
+ new_url.gsub(":#{param}", URI.escape(value))
115
116
  end
116
117
  end
117
118
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -26,7 +27,7 @@ module GoCardlessPro
26
27
  Resources::Creditor.new(unenvelope_body(response.body), response)
27
28
  end
28
29
 
29
- # Returns a [cursor-paginated](#overview-cursor-pagination) list of your
30
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
30
31
  # creditors.
31
32
  # Example URL: /creditors
32
33
  # @param options [Hash] parameters as a hash, under a params key.
@@ -100,12 +101,12 @@ module GoCardlessPro
100
101
  'creditors'
101
102
  end
102
103
 
103
- # take a URL with placeholder params and substitute them out for the acutal value
104
+ # take a URL with placeholder params and substitute them out for the actual value
104
105
  # @param url [String] the URL with placeholders in
105
- # @param param_map [Hash] a hash of placeholders and their actual values
106
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
106
107
  def sub_url(url, param_map)
107
108
  param_map.reduce(url) do |new_url, (param, value)|
108
- new_url.gsub(":#{param}", value)
109
+ new_url.gsub(":#{param}", URI.escape(value))
109
110
  end
110
111
  end
111
112
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -21,11 +22,11 @@ module GoCardlessPro
21
22
  # - IBAN
22
23
  #
23
24
  # - [Customer Bank
24
- # Account Tokens](#js-flow-create-a-customer-bank-account-token)
25
+ # Account Tokens](#javascript-flow-create-a-customer-bank-account-token)
25
26
  #
26
- # For more
27
- # information on the different fields required in each country, see [local bank
28
- # details](#appendix-local-bank-details).
27
+ #
28
+ # For more information on the different fields required in each country, see
29
+ # [local bank details](#appendix-local-bank-details).
29
30
  # Example URL: /customer_bank_accounts
30
31
  # @param options [Hash] parameters as a hash, under a params key.
31
32
  def create(options = {})
@@ -41,7 +42,7 @@ module GoCardlessPro
41
42
  Resources::CustomerBankAccount.new(unenvelope_body(response.body), response)
42
43
  end
43
44
 
44
- # Returns a [cursor-paginated](#overview-cursor-pagination) list of your bank
45
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your bank
45
46
  # accounts.
46
47
  # Example URL: /customer_bank_accounts
47
48
  # @param options [Hash] parameters as a hash, under a params key.
@@ -140,12 +141,12 @@ module GoCardlessPro
140
141
  'customer_bank_accounts'
141
142
  end
142
143
 
143
- # take a URL with placeholder params and substitute them out for the acutal value
144
+ # take a URL with placeholder params and substitute them out for the actual value
144
145
  # @param url [String] the URL with placeholders in
145
- # @param param_map [Hash] a hash of placeholders and their actual values
146
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
146
147
  def sub_url(url, param_map)
147
148
  param_map.reduce(url) do |new_url, (param, value)|
148
- new_url.gsub(":#{param}", value)
149
+ new_url.gsub(":#{param}", URI.escape(value))
149
150
  end
150
151
  end
151
152
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -26,7 +27,7 @@ module GoCardlessPro
26
27
  Resources::Customer.new(unenvelope_body(response.body), response)
27
28
  end
28
29
 
29
- # Returns a [cursor-paginated](#overview-cursor-pagination) list of your
30
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
30
31
  # customers.
31
32
  # Example URL: /customers
32
33
  # @param options [Hash] parameters as a hash, under a params key.
@@ -100,12 +101,12 @@ module GoCardlessPro
100
101
  'customers'
101
102
  end
102
103
 
103
- # take a URL with placeholder params and substitute them out for the acutal value
104
+ # take a URL with placeholder params and substitute them out for the actual value
104
105
  # @param url [String] the URL with placeholders in
105
- # @param param_map [Hash] a hash of placeholders and their actual values
106
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
106
107
  def sub_url(url, param_map)
107
108
  param_map.reduce(url) do |new_url, (param, value)|
108
- new_url.gsub(":#{param}", value)
109
+ new_url.gsub(":#{param}", URI.escape(value))
109
110
  end
110
111
  end
111
112
  end
@@ -1,16 +1,18 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
11
12
  # Service for making requests to the Event endpoints
12
13
  class EventsService < BaseService
13
- # Returns a [cursor-paginated](#overview-cursor-pagination) list of your events.
14
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
15
+ # events.
14
16
  # Example URL: /events
15
17
  # @param options [Hash] parameters as a hash, under a params key.
16
18
  def list(options = {})
@@ -64,12 +66,12 @@ module GoCardlessPro
64
66
  'events'
65
67
  end
66
68
 
67
- # take a URL with placeholder params and substitute them out for the acutal value
69
+ # take a URL with placeholder params and substitute them out for the actual value
68
70
  # @param url [String] the URL with placeholders in
69
- # @param param_map [Hash] a hash of placeholders and their actual values
71
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
70
72
  def sub_url(url, param_map)
71
73
  param_map.reduce(url) do |new_url, (param, value)|
72
- new_url.gsub(":#{param}", value)
74
+ new_url.gsub(":#{param}", URI.escape(value))
73
75
  end
74
76
  end
75
77
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -51,12 +52,12 @@ module GoCardlessPro
51
52
  'mandate_pdfs'
52
53
  end
53
54
 
54
- # take a URL with placeholder params and substitute them out for the acutal value
55
+ # take a URL with placeholder params and substitute them out for the actual value
55
56
  # @param url [String] the URL with placeholders in
56
- # @param param_map [Hash] a hash of placeholders and their actual values
57
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
57
58
  def sub_url(url, param_map)
58
59
  param_map.reduce(url) do |new_url, (param, value)|
59
- new_url.gsub(":#{param}", value)
60
+ new_url.gsub(":#{param}", URI.escape(value))
60
61
  end
61
62
  end
62
63
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -26,7 +27,7 @@ module GoCardlessPro
26
27
  Resources::Mandate.new(unenvelope_body(response.body), response)
27
28
  end
28
29
 
29
- # Returns a [cursor-paginated](#overview-cursor-pagination) list of your
30
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
30
31
  # mandates.
31
32
  # Example URL: /mandates
32
33
  # @param options [Hash] parameters as a hash, under a params key.
@@ -151,12 +152,12 @@ module GoCardlessPro
151
152
  'mandates'
152
153
  end
153
154
 
154
- # take a URL with placeholder params and substitute them out for the acutal value
155
+ # take a URL with placeholder params and substitute them out for the actual value
155
156
  # @param url [String] the URL with placeholders in
156
- # @param param_map [Hash] a hash of placeholders and their actual values
157
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
157
158
  def sub_url(url, param_map)
158
159
  param_map.reduce(url) do |new_url, (param, value)|
159
- new_url.gsub(":#{param}", value)
160
+ new_url.gsub(":#{param}", URI.escape(value))
160
161
  end
161
162
  end
162
163
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -32,7 +33,7 @@ module GoCardlessPro
32
33
  Resources::Payment.new(unenvelope_body(response.body), response)
33
34
  end
34
35
 
35
- # Returns a [cursor-paginated](#overview-cursor-pagination) list of your
36
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
36
37
  # payments.
37
38
  # Example URL: /payments
38
39
  # @param options [Hash] parameters as a hash, under a params key.
@@ -157,12 +158,12 @@ module GoCardlessPro
157
158
  'payments'
158
159
  end
159
160
 
160
- # take a URL with placeholder params and substitute them out for the acutal value
161
+ # take a URL with placeholder params and substitute them out for the actual value
161
162
  # @param url [String] the URL with placeholders in
162
- # @param param_map [Hash] a hash of placeholders and their actual values
163
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
163
164
  def sub_url(url, param_map)
164
165
  param_map.reduce(url) do |new_url, (param, value)|
165
- new_url.gsub(":#{param}", value)
166
+ new_url.gsub(":#{param}", URI.escape(value))
166
167
  end
167
168
  end
168
169
  end
@@ -1,16 +1,17 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
11
12
  # Service for making requests to the Payout endpoints
12
13
  class PayoutsService < BaseService
13
- # Returns a [cursor-paginated](#overview-cursor-pagination) list of your
14
+ # Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your
14
15
  # payouts.
15
16
  # Example URL: /payouts
16
17
  # @param options [Hash] parameters as a hash, under a params key.
@@ -67,12 +68,12 @@ module GoCardlessPro
67
68
  'payouts'
68
69
  end
69
70
 
70
- # take a URL with placeholder params and substitute them out for the acutal value
71
+ # take a URL with placeholder params and substitute them out for the actual value
71
72
  # @param url [String] the URL with placeholders in
72
- # @param param_map [Hash] a hash of placeholders and their actual values
73
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
73
74
  def sub_url(url, param_map)
74
75
  param_map.reduce(url) do |new_url, (param, value)|
75
- new_url.gsub(":#{param}", value)
76
+ new_url.gsub(":#{param}", URI.escape(value))
76
77
  end
77
78
  end
78
79
  end
@@ -1,10 +1,11 @@
1
1
  require_relative './base_service'
2
+ require 'uri'
2
3
 
3
4
  # encoding: utf-8
4
5
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
+ # This client is automatically generated from a template and JSON schema definition.
7
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
8
  #
7
- # https://github.com/gocardless/crank
8
9
 
9
10
  module GoCardlessPro
10
11
  module Services
@@ -84,12 +85,12 @@ module GoCardlessPro
84
85
  'redirect_flows'
85
86
  end
86
87
 
87
- # take a URL with placeholder params and substitute them out for the acutal value
88
+ # take a URL with placeholder params and substitute them out for the actual value
88
89
  # @param url [String] the URL with placeholders in
89
- # @param param_map [Hash] a hash of placeholders and their actual values
90
+ # @param param_map [Hash] a hash of placeholders and their actual values (which will be escaped)
90
91
  def sub_url(url, param_map)
91
92
  param_map.reduce(url) do |new_url, (param, value)|
92
- new_url.gsub(":#{param}", value)
93
+ new_url.gsub(":#{param}", URI.escape(value))
93
94
  end
94
95
  end
95
96
  end