processout 3.0.0 → 3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9dbb9789f54c15d86ef3b22a868b8ad6009203fe0dde1d05e8b8a1fdda02c2b1
4
- data.tar.gz: 41afc68147e44d58033688ffc8a41ffbb0a73d7c83e361dcabf7444dbfa8fcb1
3
+ metadata.gz: a014a9e7ce6325c1d9df18d3347dd8fc33a1bebd415be4e4c265f54b9c769099
4
+ data.tar.gz: a05c9e4f389fb71fea674ad001ce6596b41426986da34c7ca76537de5cbcf74b
5
5
  SHA512:
6
- metadata.gz: 5bfde4b669939b09f83b2cbf3317ccca829c1ba422bb9226a60ad386cae6955063f5f8afaba4dec1b479e77b589560edf2e0e13290fd6c641675d5546d64493f
7
- data.tar.gz: ea7064edc8e1b5eba813a9815ecf3077a0ae58897ca47b7c50683db86a03e067f8bc1b3a4ae397c54574af220b889b0f8a1c8685b038b0ae2a0d5253d33d73cb
6
+ metadata.gz: 5036200b4c89df20d20c4aeb88b032bc45d0343d7c0e8d071a97f1749f658e3fc8752b0caa8717e719a9a89f5ab222d9352cb33b9f7bdc1cec80dda7de8c9482
7
+ data.tar.gz: 62f1f4e9660a884a67f4f95f1963453a8c1775899a1440bdb668a253a2306eaa61de0d4be39290d20447a169b2302bdf26039371add7118501c44a1644e4074c
@@ -0,0 +1,337 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExportLayout
10
+
11
+ attr_reader :id
12
+ attr_reader :project
13
+ attr_reader :project_id
14
+ attr_reader :created_at
15
+ attr_reader :name
16
+ attr_reader :type
17
+ attr_reader :is_default
18
+ attr_reader :configuration
19
+
20
+
21
+ def id=(val)
22
+ @id = val
23
+ end
24
+
25
+ def project=(val)
26
+ if val.nil?
27
+ @project = val
28
+ return
29
+ end
30
+
31
+ if val.instance_of? Project
32
+ @project = val
33
+ else
34
+ obj = Project.new(@client)
35
+ obj.fill_with_data(val)
36
+ @project = obj
37
+ end
38
+
39
+ end
40
+
41
+ def project_id=(val)
42
+ @project_id = val
43
+ end
44
+
45
+ def created_at=(val)
46
+ @created_at = val
47
+ end
48
+
49
+ def name=(val)
50
+ @name = val
51
+ end
52
+
53
+ def type=(val)
54
+ @type = val
55
+ end
56
+
57
+ def is_default=(val)
58
+ @is_default = val
59
+ end
60
+
61
+ def configuration=(val)
62
+ if val.nil?
63
+ @configuration = val
64
+ return
65
+ end
66
+
67
+ if val.instance_of? ExportLayoutConfiguration
68
+ @configuration = val
69
+ else
70
+ obj = ExportLayoutConfiguration.new(@client)
71
+ obj.fill_with_data(val)
72
+ @configuration = obj
73
+ end
74
+
75
+ end
76
+
77
+
78
+ # Initializes the ExportLayout object
79
+ # Params:
80
+ # +client+:: +ProcessOut+ client instance
81
+ # +data+:: data that can be used to fill the object
82
+ def initialize(client, data = {})
83
+ @client = client
84
+
85
+ self.id = data.fetch(:id, nil)
86
+ self.project = data.fetch(:project, nil)
87
+ self.project_id = data.fetch(:project_id, nil)
88
+ self.created_at = data.fetch(:created_at, nil)
89
+ self.name = data.fetch(:name, nil)
90
+ self.type = data.fetch(:type, nil)
91
+ self.is_default = data.fetch(:is_default, nil)
92
+ self.configuration = data.fetch(:configuration, nil)
93
+
94
+ end
95
+
96
+ # Create a new ExportLayout using the current client
97
+ def new(data = {})
98
+ ExportLayout.new(@client, data)
99
+ end
100
+
101
+ # Overrides the JSON marshaller to only send the fields we want
102
+ def to_json(options)
103
+ {
104
+ "id": self.id,
105
+ "project": self.project,
106
+ "project_id": self.project_id,
107
+ "created_at": self.created_at,
108
+ "name": self.name,
109
+ "type": self.type,
110
+ "is_default": self.is_default,
111
+ "configuration": self.configuration,
112
+ }.to_json
113
+ end
114
+
115
+ # Fills the object with data coming from the API
116
+ # Params:
117
+ # +data+:: +Hash+ of data coming from the API
118
+ def fill_with_data(data)
119
+ if data.nil?
120
+ return self
121
+ end
122
+ if data.include? "id"
123
+ self.id = data["id"]
124
+ end
125
+ if data.include? "project"
126
+ self.project = data["project"]
127
+ end
128
+ if data.include? "project_id"
129
+ self.project_id = data["project_id"]
130
+ end
131
+ if data.include? "created_at"
132
+ self.created_at = data["created_at"]
133
+ end
134
+ if data.include? "name"
135
+ self.name = data["name"]
136
+ end
137
+ if data.include? "type"
138
+ self.type = data["type"]
139
+ end
140
+ if data.include? "is_default"
141
+ self.is_default = data["is_default"]
142
+ end
143
+ if data.include? "configuration"
144
+ self.configuration = data["configuration"]
145
+ end
146
+
147
+ self
148
+ end
149
+
150
+ # Prefills the object with the data passed as parameters
151
+ # Params:
152
+ # +data+:: +Hash+ of data
153
+ def prefill(data)
154
+ if data.nil?
155
+ return self
156
+ end
157
+ self.id = data.fetch(:id, self.id)
158
+ self.project = data.fetch(:project, self.project)
159
+ self.project_id = data.fetch(:project_id, self.project_id)
160
+ self.created_at = data.fetch(:created_at, self.created_at)
161
+ self.name = data.fetch(:name, self.name)
162
+ self.type = data.fetch(:type, self.type)
163
+ self.is_default = data.fetch(:is_default, self.is_default)
164
+ self.configuration = data.fetch(:configuration, self.configuration)
165
+
166
+ self
167
+ end
168
+
169
+ # Get all the export layouts.
170
+ # Params:
171
+ # +options+:: +Hash+ of options
172
+ def all(options = {})
173
+ self.prefill(options)
174
+
175
+ request = Request.new(@client)
176
+ path = "/exports/layouts"
177
+ data = {
178
+
179
+ }
180
+
181
+ response = Response.new(request.get(path, data, options))
182
+ return_values = Array.new
183
+
184
+ a = Array.new
185
+ body = response.body
186
+ for v in body['export_layouts']
187
+ tmp = ExportLayout.new(@client)
188
+ tmp.fill_with_data(v)
189
+ a.push(tmp)
190
+ end
191
+
192
+ return_values.push(a)
193
+
194
+
195
+
196
+ return_values[0]
197
+ end
198
+
199
+ # Find an export layout by its ID.
200
+ # Params:
201
+ # +export_layout_id+:: ID of the export layout
202
+ # +options+:: +Hash+ of options
203
+ def find(export_layout_id, options = {})
204
+ self.prefill(options)
205
+
206
+ request = Request.new(@client)
207
+ path = "/exports/layouts/" + CGI.escape(export_layout_id) + ""
208
+ data = {
209
+
210
+ }
211
+
212
+ response = Response.new(request.get(path, data, options))
213
+ return_values = Array.new
214
+
215
+ body = response.body
216
+ body = body["export_layout"]
217
+
218
+
219
+ obj = ExportLayout.new(@client)
220
+ return_values.push(obj.fill_with_data(body))
221
+
222
+
223
+
224
+ return_values[0]
225
+ end
226
+
227
+ # Find the default export layout for given export type.
228
+ # Params:
229
+ # +export_type+:: Export type for which the default layout is assigned.
230
+ # +options+:: +Hash+ of options
231
+ def find_default(export_type, options = {})
232
+ self.prefill(options)
233
+
234
+ request = Request.new(@client)
235
+ path = "/exports/layouts/default/" + CGI.escape(export_type) + ""
236
+ data = {
237
+
238
+ }
239
+
240
+ response = Response.new(request.get(path, data, options))
241
+ return_values = Array.new
242
+
243
+ body = response.body
244
+ body = body["export_layout"]
245
+
246
+
247
+ obj = ExportLayout.new(@client)
248
+ return_values.push(obj.fill_with_data(body))
249
+
250
+
251
+
252
+ return_values[0]
253
+ end
254
+
255
+ # Create a new export layout.
256
+ # Params:
257
+ # +options+:: +Hash+ of options
258
+ def create(options = {})
259
+ self.prefill(options)
260
+
261
+ request = Request.new(@client)
262
+ path = "/exports/layouts"
263
+ data = {
264
+ "name" => @name,
265
+ "type" => @type,
266
+ "is_default" => @is_default,
267
+ "configuration" => @configuration
268
+ }
269
+
270
+ response = Response.new(request.post(path, data, options))
271
+ return_values = Array.new
272
+
273
+ body = response.body
274
+ body = body["export_layout"]
275
+
276
+
277
+ return_values.push(self.fill_with_data(body))
278
+
279
+
280
+
281
+ return_values[0]
282
+ end
283
+
284
+ # Update the export layout.
285
+ # Params:
286
+ # +export_layout_id+:: ID of the export layout
287
+ # +options+:: +Hash+ of options
288
+ def update(export_layout_id, options = {})
289
+ self.prefill(options)
290
+
291
+ request = Request.new(@client)
292
+ path = "/exports/layouts/" + CGI.escape(export_layout_id) + ""
293
+ data = {
294
+ "name" => @name,
295
+ "is_default" => @is_default,
296
+ "configuration" => @configuration
297
+ }
298
+
299
+ response = Response.new(request.put(path, data, options))
300
+ return_values = Array.new
301
+
302
+ body = response.body
303
+ body = body["export_layout"]
304
+
305
+
306
+ return_values.push(self.fill_with_data(body))
307
+
308
+
309
+
310
+ return_values[0]
311
+ end
312
+
313
+ # Delete the export layout.
314
+ # Params:
315
+ # +export_layout_id+:: ID of the export layout
316
+ # +options+:: +Hash+ of options
317
+ def delete(export_layout_id, options = {})
318
+ self.prefill(options)
319
+
320
+ request = Request.new(@client)
321
+ path = "/exports/layouts/" + CGI.escape(export_layout_id) + ""
322
+ data = {
323
+
324
+ }
325
+
326
+ response = Response.new(request.delete(path, data, options))
327
+ return_values = Array.new
328
+
329
+ return_values.push(response.success)
330
+
331
+
332
+ return_values[0]
333
+ end
334
+
335
+
336
+ end
337
+ end
@@ -0,0 +1,132 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExportLayoutConfiguration
10
+
11
+ attr_reader :columns
12
+ attr_reader :time
13
+ attr_reader :amount
14
+
15
+
16
+ def columns=(val)
17
+ if val.nil?
18
+ @columns = []
19
+ return
20
+ end
21
+
22
+ if val.length > 0 and val[0].instance_of? ExportLayoutConfigurationColumn
23
+ @columns = val
24
+ else
25
+ l = Array.new
26
+ for v in val
27
+ obj = ExportLayoutConfigurationColumn.new(@client)
28
+ obj.fill_with_data(v)
29
+ l.push(obj)
30
+ end
31
+ @columns = l
32
+ end
33
+
34
+ end
35
+
36
+ def time=(val)
37
+ if val.nil?
38
+ @time = val
39
+ return
40
+ end
41
+
42
+ if val.instance_of? ExportLayoutConfigurationTime
43
+ @time = val
44
+ else
45
+ obj = ExportLayoutConfigurationTime.new(@client)
46
+ obj.fill_with_data(val)
47
+ @time = obj
48
+ end
49
+
50
+ end
51
+
52
+ def amount=(val)
53
+ if val.nil?
54
+ @amount = val
55
+ return
56
+ end
57
+
58
+ if val.instance_of? ExportLayoutConfigurationAmount
59
+ @amount = val
60
+ else
61
+ obj = ExportLayoutConfigurationAmount.new(@client)
62
+ obj.fill_with_data(val)
63
+ @amount = obj
64
+ end
65
+
66
+ end
67
+
68
+
69
+ # Initializes the ExportLayoutConfiguration object
70
+ # Params:
71
+ # +client+:: +ProcessOut+ client instance
72
+ # +data+:: data that can be used to fill the object
73
+ def initialize(client, data = {})
74
+ @client = client
75
+
76
+ self.columns = data.fetch(:columns, nil)
77
+ self.time = data.fetch(:time, nil)
78
+ self.amount = data.fetch(:amount, nil)
79
+
80
+ end
81
+
82
+ # Create a new ExportLayoutConfiguration using the current client
83
+ def new(data = {})
84
+ ExportLayoutConfiguration.new(@client, data)
85
+ end
86
+
87
+ # Overrides the JSON marshaller to only send the fields we want
88
+ def to_json(options)
89
+ {
90
+ "columns": self.columns,
91
+ "time": self.time,
92
+ "amount": self.amount,
93
+ }.to_json
94
+ end
95
+
96
+ # Fills the object with data coming from the API
97
+ # Params:
98
+ # +data+:: +Hash+ of data coming from the API
99
+ def fill_with_data(data)
100
+ if data.nil?
101
+ return self
102
+ end
103
+ if data.include? "columns"
104
+ self.columns = data["columns"]
105
+ end
106
+ if data.include? "time"
107
+ self.time = data["time"]
108
+ end
109
+ if data.include? "amount"
110
+ self.amount = data["amount"]
111
+ end
112
+
113
+ self
114
+ end
115
+
116
+ # Prefills the object with the data passed as parameters
117
+ # Params:
118
+ # +data+:: +Hash+ of data
119
+ def prefill(data)
120
+ if data.nil?
121
+ return self
122
+ end
123
+ self.columns = data.fetch(:columns, self.columns)
124
+ self.time = data.fetch(:time, self.time)
125
+ self.amount = data.fetch(:amount, self.amount)
126
+
127
+ self
128
+ end
129
+
130
+
131
+ end
132
+ end
@@ -0,0 +1,81 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExportLayoutConfigurationAmount
10
+
11
+ attr_reader :precision
12
+ attr_reader :separator
13
+
14
+
15
+ def precision=(val)
16
+ @precision = val
17
+ end
18
+
19
+ def separator=(val)
20
+ @separator = val
21
+ end
22
+
23
+
24
+ # Initializes the ExportLayoutConfigurationAmount object
25
+ # Params:
26
+ # +client+:: +ProcessOut+ client instance
27
+ # +data+:: data that can be used to fill the object
28
+ def initialize(client, data = {})
29
+ @client = client
30
+
31
+ self.precision = data.fetch(:precision, nil)
32
+ self.separator = data.fetch(:separator, nil)
33
+
34
+ end
35
+
36
+ # Create a new ExportLayoutConfigurationAmount using the current client
37
+ def new(data = {})
38
+ ExportLayoutConfigurationAmount.new(@client, data)
39
+ end
40
+
41
+ # Overrides the JSON marshaller to only send the fields we want
42
+ def to_json(options)
43
+ {
44
+ "precision": self.precision,
45
+ "separator": self.separator,
46
+ }.to_json
47
+ end
48
+
49
+ # Fills the object with data coming from the API
50
+ # Params:
51
+ # +data+:: +Hash+ of data coming from the API
52
+ def fill_with_data(data)
53
+ if data.nil?
54
+ return self
55
+ end
56
+ if data.include? "precision"
57
+ self.precision = data["precision"]
58
+ end
59
+ if data.include? "separator"
60
+ self.separator = data["separator"]
61
+ end
62
+
63
+ self
64
+ end
65
+
66
+ # Prefills the object with the data passed as parameters
67
+ # Params:
68
+ # +data+:: +Hash+ of data
69
+ def prefill(data)
70
+ if data.nil?
71
+ return self
72
+ end
73
+ self.precision = data.fetch(:precision, self.precision)
74
+ self.separator = data.fetch(:separator, self.separator)
75
+
76
+ self
77
+ end
78
+
79
+
80
+ end
81
+ end
@@ -0,0 +1,81 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExportLayoutConfigurationColumn
10
+
11
+ attr_reader :name
12
+ attr_reader :rename
13
+
14
+
15
+ def name=(val)
16
+ @name = val
17
+ end
18
+
19
+ def rename=(val)
20
+ @rename = val
21
+ end
22
+
23
+
24
+ # Initializes the ExportLayoutConfigurationColumn object
25
+ # Params:
26
+ # +client+:: +ProcessOut+ client instance
27
+ # +data+:: data that can be used to fill the object
28
+ def initialize(client, data = {})
29
+ @client = client
30
+
31
+ self.name = data.fetch(:name, nil)
32
+ self.rename = data.fetch(:rename, nil)
33
+
34
+ end
35
+
36
+ # Create a new ExportLayoutConfigurationColumn using the current client
37
+ def new(data = {})
38
+ ExportLayoutConfigurationColumn.new(@client, data)
39
+ end
40
+
41
+ # Overrides the JSON marshaller to only send the fields we want
42
+ def to_json(options)
43
+ {
44
+ "name": self.name,
45
+ "rename": self.rename,
46
+ }.to_json
47
+ end
48
+
49
+ # Fills the object with data coming from the API
50
+ # Params:
51
+ # +data+:: +Hash+ of data coming from the API
52
+ def fill_with_data(data)
53
+ if data.nil?
54
+ return self
55
+ end
56
+ if data.include? "name"
57
+ self.name = data["name"]
58
+ end
59
+ if data.include? "rename"
60
+ self.rename = data["rename"]
61
+ end
62
+
63
+ self
64
+ end
65
+
66
+ # Prefills the object with the data passed as parameters
67
+ # Params:
68
+ # +data+:: +Hash+ of data
69
+ def prefill(data)
70
+ if data.nil?
71
+ return self
72
+ end
73
+ self.name = data.fetch(:name, self.name)
74
+ self.rename = data.fetch(:rename, self.rename)
75
+
76
+ self
77
+ end
78
+
79
+
80
+ end
81
+ end
@@ -0,0 +1,81 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExportLayoutConfigurationConfigurationOptionsAmount
10
+
11
+ attr_reader :precision
12
+ attr_reader :separator
13
+
14
+
15
+ def precision=(val)
16
+ @precision = val
17
+ end
18
+
19
+ def separator=(val)
20
+ @separator = val
21
+ end
22
+
23
+
24
+ # Initializes the ExportLayoutConfigurationConfigurationOptionsAmount object
25
+ # Params:
26
+ # +client+:: +ProcessOut+ client instance
27
+ # +data+:: data that can be used to fill the object
28
+ def initialize(client, data = {})
29
+ @client = client
30
+
31
+ self.precision = data.fetch(:precision, nil)
32
+ self.separator = data.fetch(:separator, nil)
33
+
34
+ end
35
+
36
+ # Create a new ExportLayoutConfigurationConfigurationOptionsAmount using the current client
37
+ def new(data = {})
38
+ ExportLayoutConfigurationConfigurationOptionsAmount.new(@client, data)
39
+ end
40
+
41
+ # Overrides the JSON marshaller to only send the fields we want
42
+ def to_json(options)
43
+ {
44
+ "precision": self.precision,
45
+ "separator": self.separator,
46
+ }.to_json
47
+ end
48
+
49
+ # Fills the object with data coming from the API
50
+ # Params:
51
+ # +data+:: +Hash+ of data coming from the API
52
+ def fill_with_data(data)
53
+ if data.nil?
54
+ return self
55
+ end
56
+ if data.include? "precision"
57
+ self.precision = data["precision"]
58
+ end
59
+ if data.include? "separator"
60
+ self.separator = data["separator"]
61
+ end
62
+
63
+ self
64
+ end
65
+
66
+ # Prefills the object with the data passed as parameters
67
+ # Params:
68
+ # +data+:: +Hash+ of data
69
+ def prefill(data)
70
+ if data.nil?
71
+ return self
72
+ end
73
+ self.precision = data.fetch(:precision, self.precision)
74
+ self.separator = data.fetch(:separator, self.separator)
75
+
76
+ self
77
+ end
78
+
79
+
80
+ end
81
+ end
@@ -0,0 +1,70 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExportLayoutConfigurationConfigurationOptionsTime
10
+
11
+ attr_reader :format
12
+
13
+
14
+ def format=(val)
15
+ @format = val
16
+ end
17
+
18
+
19
+ # Initializes the ExportLayoutConfigurationConfigurationOptionsTime object
20
+ # Params:
21
+ # +client+:: +ProcessOut+ client instance
22
+ # +data+:: data that can be used to fill the object
23
+ def initialize(client, data = {})
24
+ @client = client
25
+
26
+ self.format = data.fetch(:format, nil)
27
+
28
+ end
29
+
30
+ # Create a new ExportLayoutConfigurationConfigurationOptionsTime using the current client
31
+ def new(data = {})
32
+ ExportLayoutConfigurationConfigurationOptionsTime.new(@client, data)
33
+ end
34
+
35
+ # Overrides the JSON marshaller to only send the fields we want
36
+ def to_json(options)
37
+ {
38
+ "format": self.format,
39
+ }.to_json
40
+ end
41
+
42
+ # Fills the object with data coming from the API
43
+ # Params:
44
+ # +data+:: +Hash+ of data coming from the API
45
+ def fill_with_data(data)
46
+ if data.nil?
47
+ return self
48
+ end
49
+ if data.include? "format"
50
+ self.format = data["format"]
51
+ end
52
+
53
+ self
54
+ end
55
+
56
+ # Prefills the object with the data passed as parameters
57
+ # Params:
58
+ # +data+:: +Hash+ of data
59
+ def prefill(data)
60
+ if data.nil?
61
+ return self
62
+ end
63
+ self.format = data.fetch(:format, self.format)
64
+
65
+ self
66
+ end
67
+
68
+
69
+ end
70
+ end
@@ -0,0 +1,144 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExportLayoutConfigurationOptions
10
+
11
+ attr_reader :columns
12
+ attr_reader :time
13
+ attr_reader :amount
14
+
15
+
16
+ def columns=(val)
17
+ @columns = val
18
+ end
19
+
20
+ def time=(val)
21
+ if val.nil?
22
+ @time = val
23
+ return
24
+ end
25
+
26
+ if val.instance_of? ExportLayoutConfigurationConfigurationOptionsTime
27
+ @time = val
28
+ else
29
+ obj = ExportLayoutConfigurationConfigurationOptionsTime.new(@client)
30
+ obj.fill_with_data(val)
31
+ @time = obj
32
+ end
33
+
34
+ end
35
+
36
+ def amount=(val)
37
+ if val.nil?
38
+ @amount = val
39
+ return
40
+ end
41
+
42
+ if val.instance_of? ExportLayoutConfigurationConfigurationOptionsAmount
43
+ @amount = val
44
+ else
45
+ obj = ExportLayoutConfigurationConfigurationOptionsAmount.new(@client)
46
+ obj.fill_with_data(val)
47
+ @amount = obj
48
+ end
49
+
50
+ end
51
+
52
+
53
+ # Initializes the ExportLayoutConfigurationOptions object
54
+ # Params:
55
+ # +client+:: +ProcessOut+ client instance
56
+ # +data+:: data that can be used to fill the object
57
+ def initialize(client, data = {})
58
+ @client = client
59
+
60
+ self.columns = data.fetch(:columns, nil)
61
+ self.time = data.fetch(:time, nil)
62
+ self.amount = data.fetch(:amount, nil)
63
+
64
+ end
65
+
66
+ # Create a new ExportLayoutConfigurationOptions using the current client
67
+ def new(data = {})
68
+ ExportLayoutConfigurationOptions.new(@client, data)
69
+ end
70
+
71
+ # Overrides the JSON marshaller to only send the fields we want
72
+ def to_json(options)
73
+ {
74
+ "columns": self.columns,
75
+ "time": self.time,
76
+ "amount": self.amount,
77
+ }.to_json
78
+ end
79
+
80
+ # Fills the object with data coming from the API
81
+ # Params:
82
+ # +data+:: +Hash+ of data coming from the API
83
+ def fill_with_data(data)
84
+ if data.nil?
85
+ return self
86
+ end
87
+ if data.include? "columns"
88
+ self.columns = data["columns"]
89
+ end
90
+ if data.include? "time"
91
+ self.time = data["time"]
92
+ end
93
+ if data.include? "amount"
94
+ self.amount = data["amount"]
95
+ end
96
+
97
+ self
98
+ end
99
+
100
+ # Prefills the object with the data passed as parameters
101
+ # Params:
102
+ # +data+:: +Hash+ of data
103
+ def prefill(data)
104
+ if data.nil?
105
+ return self
106
+ end
107
+ self.columns = data.fetch(:columns, self.columns)
108
+ self.time = data.fetch(:time, self.time)
109
+ self.amount = data.fetch(:amount, self.amount)
110
+
111
+ self
112
+ end
113
+
114
+ # Fetch export layout configuration options.
115
+ # Params:
116
+ # +export_type+:: Export type
117
+ # +options+:: +Hash+ of options
118
+ def fetch(export_type, options = {})
119
+ self.prefill(options)
120
+
121
+ request = Request.new(@client)
122
+ path = "/exports/layouts/options/" + CGI.escape(export_type) + ""
123
+ data = {
124
+
125
+ }
126
+
127
+ response = Response.new(request.get(path, data, options))
128
+ return_values = Array.new
129
+
130
+ body = response.body
131
+ body = body["export_layout_configuration_options"]
132
+
133
+
134
+ obj = ExportLayoutConfigurationOptions.new(@client)
135
+ return_values.push(obj.fill_with_data(body))
136
+
137
+
138
+
139
+ return_values[0]
140
+ end
141
+
142
+
143
+ end
144
+ end
@@ -0,0 +1,70 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExportLayoutConfigurationTime
10
+
11
+ attr_reader :format
12
+
13
+
14
+ def format=(val)
15
+ @format = val
16
+ end
17
+
18
+
19
+ # Initializes the ExportLayoutConfigurationTime object
20
+ # Params:
21
+ # +client+:: +ProcessOut+ client instance
22
+ # +data+:: data that can be used to fill the object
23
+ def initialize(client, data = {})
24
+ @client = client
25
+
26
+ self.format = data.fetch(:format, nil)
27
+
28
+ end
29
+
30
+ # Create a new ExportLayoutConfigurationTime using the current client
31
+ def new(data = {})
32
+ ExportLayoutConfigurationTime.new(@client, data)
33
+ end
34
+
35
+ # Overrides the JSON marshaller to only send the fields we want
36
+ def to_json(options)
37
+ {
38
+ "format": self.format,
39
+ }.to_json
40
+ end
41
+
42
+ # Fills the object with data coming from the API
43
+ # Params:
44
+ # +data+:: +Hash+ of data coming from the API
45
+ def fill_with_data(data)
46
+ if data.nil?
47
+ return self
48
+ end
49
+ if data.include? "format"
50
+ self.format = data["format"]
51
+ end
52
+
53
+ self
54
+ end
55
+
56
+ # Prefills the object with the data passed as parameters
57
+ # Params:
58
+ # +data+:: +Hash+ of data
59
+ def prefill(data)
60
+ if data.nil?
61
+ return self
62
+ end
63
+ self.format = data.fetch(:format, self.format)
64
+
65
+ self
66
+ end
67
+
68
+
69
+ end
70
+ end
@@ -0,0 +1,136 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class ExternalThreeDS
10
+
11
+ attr_reader :xid
12
+ attr_reader :trans_status
13
+ attr_reader :eci
14
+ attr_reader :cavv
15
+ attr_reader :ds_trans_id
16
+ attr_reader :version
17
+ attr_reader :authentication_flow
18
+
19
+
20
+ def xid=(val)
21
+ @xid = val
22
+ end
23
+
24
+ def trans_status=(val)
25
+ @trans_status = val
26
+ end
27
+
28
+ def eci=(val)
29
+ @eci = val
30
+ end
31
+
32
+ def cavv=(val)
33
+ @cavv = val
34
+ end
35
+
36
+ def ds_trans_id=(val)
37
+ @ds_trans_id = val
38
+ end
39
+
40
+ def version=(val)
41
+ @version = val
42
+ end
43
+
44
+ def authentication_flow=(val)
45
+ @authentication_flow = val
46
+ end
47
+
48
+
49
+ # Initializes the ExternalThreeDS object
50
+ # Params:
51
+ # +client+:: +ProcessOut+ client instance
52
+ # +data+:: data that can be used to fill the object
53
+ def initialize(client, data = {})
54
+ @client = client
55
+
56
+ self.xid = data.fetch(:xid, nil)
57
+ self.trans_status = data.fetch(:trans_status, nil)
58
+ self.eci = data.fetch(:eci, nil)
59
+ self.cavv = data.fetch(:cavv, nil)
60
+ self.ds_trans_id = data.fetch(:ds_trans_id, nil)
61
+ self.version = data.fetch(:version, nil)
62
+ self.authentication_flow = data.fetch(:authentication_flow, nil)
63
+
64
+ end
65
+
66
+ # Create a new ExternalThreeDS using the current client
67
+ def new(data = {})
68
+ ExternalThreeDS.new(@client, data)
69
+ end
70
+
71
+ # Overrides the JSON marshaller to only send the fields we want
72
+ def to_json(options)
73
+ {
74
+ "xid": self.xid,
75
+ "trans_status": self.trans_status,
76
+ "eci": self.eci,
77
+ "cavv": self.cavv,
78
+ "ds_trans_id": self.ds_trans_id,
79
+ "version": self.version,
80
+ "authentication_flow": self.authentication_flow,
81
+ }.to_json
82
+ end
83
+
84
+ # Fills the object with data coming from the API
85
+ # Params:
86
+ # +data+:: +Hash+ of data coming from the API
87
+ def fill_with_data(data)
88
+ if data.nil?
89
+ return self
90
+ end
91
+ if data.include? "xid"
92
+ self.xid = data["xid"]
93
+ end
94
+ if data.include? "trans_status"
95
+ self.trans_status = data["trans_status"]
96
+ end
97
+ if data.include? "eci"
98
+ self.eci = data["eci"]
99
+ end
100
+ if data.include? "cavv"
101
+ self.cavv = data["cavv"]
102
+ end
103
+ if data.include? "ds_trans_id"
104
+ self.ds_trans_id = data["ds_trans_id"]
105
+ end
106
+ if data.include? "version"
107
+ self.version = data["version"]
108
+ end
109
+ if data.include? "authentication_flow"
110
+ self.authentication_flow = data["authentication_flow"]
111
+ end
112
+
113
+ self
114
+ end
115
+
116
+ # Prefills the object with the data passed as parameters
117
+ # Params:
118
+ # +data+:: +Hash+ of data
119
+ def prefill(data)
120
+ if data.nil?
121
+ return self
122
+ end
123
+ self.xid = data.fetch(:xid, self.xid)
124
+ self.trans_status = data.fetch(:trans_status, self.trans_status)
125
+ self.eci = data.fetch(:eci, self.eci)
126
+ self.cavv = data.fetch(:cavv, self.cavv)
127
+ self.ds_trans_id = data.fetch(:ds_trans_id, self.ds_trans_id)
128
+ self.version = data.fetch(:version, self.version)
129
+ self.authentication_flow = data.fetch(:authentication_flow, self.authentication_flow)
130
+
131
+ self
132
+ end
133
+
134
+
135
+ end
136
+ end
@@ -822,6 +822,8 @@ module ProcessOut
822
822
  "auto_capture_at" => options.fetch(:auto_capture_at, nil),
823
823
  "metadata" => options.fetch(:metadata, nil),
824
824
  "override_mac_blocking" => options.fetch(:override_mac_blocking, nil),
825
+ "external_three_d_s" => options.fetch(:external_three_d_s, nil),
826
+ "save_source" => options.fetch(:save_source, nil),
825
827
  "source" => source
826
828
  }
827
829
 
@@ -862,6 +864,8 @@ module ProcessOut
862
864
  "metadata" => options.fetch(:metadata, nil),
863
865
  "capture_statement_descriptor" => options.fetch(:capture_statement_descriptor, nil),
864
866
  "override_mac_blocking" => options.fetch(:override_mac_blocking, nil),
867
+ "external_three_d_s" => options.fetch(:external_three_d_s, nil),
868
+ "save_source" => options.fetch(:save_source, nil),
865
869
  "source" => source
866
870
  }
867
871
 
@@ -13,7 +13,7 @@ module ProcessOut
13
13
  req.basic_auth @client.project_id, @client.project_secret
14
14
  req.content_type = "application/json"
15
15
  req["API-Version"] = "1.4.0.0"
16
- req["User-Agent"] = "ProcessOut Ruby-Bindings/3.0.0"
16
+ req["User-Agent"] = "ProcessOut Ruby-Bindings/3.1.0"
17
17
 
18
18
  unless options.nil?
19
19
  req["Idempotency-Key"] = options.fetch(:idempotency_key, "")
@@ -439,9 +439,13 @@ module ProcessOut
439
439
 
440
440
  return_values.push(self.fill_with_data(body))
441
441
 
442
+ body = response.body
443
+ body = body["customer_action"]
444
+ customer_action = CustomerAction.new(@client)
445
+ return_values.push(customer_action.fill_with_data(body))
442
446
 
443
447
 
444
- return_values[0]
448
+ return_values
445
449
  end
446
450
 
447
451
  # Save the updated customer attributes.
@@ -1,3 +1,3 @@
1
1
  module ProcessOut
2
- VERSION = "3.0.0"
2
+ VERSION = "3.1.0"
3
3
  end
data/lib/processout.rb CHANGED
@@ -16,6 +16,14 @@ require "processout/customer_phone"
16
16
  require "processout/token"
17
17
  require "processout/discount"
18
18
  require "processout/event"
19
+ require "processout/export_layout"
20
+ require "processout/export_layout_configuration"
21
+ require "processout/export_layout_configuration_column"
22
+ require "processout/export_layout_configuration_time"
23
+ require "processout/export_layout_configuration_amount"
24
+ require "processout/export_layout_configuration_options"
25
+ require "processout/export_layout_configuration_configuration_options_time"
26
+ require "processout/export_layout_configuration_configuration_options_amount"
19
27
  require "processout/gateway"
20
28
  require "processout/gateway_configuration"
21
29
  require "processout/invoice"
@@ -60,9 +68,10 @@ require "processout/card_shipping"
60
68
  require "processout/card_update_request"
61
69
  require "processout/error_codes"
62
70
  require "processout/category_error_codes"
71
+ require "processout/external_three_ds"
72
+ require "processout/native_apm_transaction_details"
63
73
  require "processout/native_apm_transaction_details_gateway"
64
74
  require "processout/native_apm_transaction_details_invoice"
65
- require "processout/native_apm_transaction_details"
66
75
 
67
76
  module ProcessOut
68
77
  class Client
@@ -155,6 +164,46 @@ module ProcessOut
155
164
  obj = Event.new(self, data)
156
165
  end
157
166
 
167
+ # Create a new ExportLayout instance
168
+ def export_layout(data = {})
169
+ obj = ExportLayout.new(self, data)
170
+ end
171
+
172
+ # Create a new ExportLayoutConfiguration instance
173
+ def export_layout_configuration(data = {})
174
+ obj = ExportLayoutConfiguration.new(self, data)
175
+ end
176
+
177
+ # Create a new ExportLayoutConfigurationColumn instance
178
+ def export_layout_configuration_column(data = {})
179
+ obj = ExportLayoutConfigurationColumn.new(self, data)
180
+ end
181
+
182
+ # Create a new ExportLayoutConfigurationTime instance
183
+ def export_layout_configuration_time(data = {})
184
+ obj = ExportLayoutConfigurationTime.new(self, data)
185
+ end
186
+
187
+ # Create a new ExportLayoutConfigurationAmount instance
188
+ def export_layout_configuration_amount(data = {})
189
+ obj = ExportLayoutConfigurationAmount.new(self, data)
190
+ end
191
+
192
+ # Create a new ExportLayoutConfigurationOptions instance
193
+ def export_layout_configuration_options(data = {})
194
+ obj = ExportLayoutConfigurationOptions.new(self, data)
195
+ end
196
+
197
+ # Create a new ExportLayoutConfigurationConfigurationOptionsTime instance
198
+ def export_layout_configuration_configuration_options_time(data = {})
199
+ obj = ExportLayoutConfigurationConfigurationOptionsTime.new(self, data)
200
+ end
201
+
202
+ # Create a new ExportLayoutConfigurationConfigurationOptionsAmount instance
203
+ def export_layout_configuration_configuration_options_amount(data = {})
204
+ obj = ExportLayoutConfigurationConfigurationOptionsAmount.new(self, data)
205
+ end
206
+
158
207
  # Create a new Gateway instance
159
208
  def gateway(data = {})
160
209
  obj = Gateway.new(self, data)
@@ -375,6 +424,16 @@ module ProcessOut
375
424
  obj = CategoryErrorCodes.new(self, data)
376
425
  end
377
426
 
427
+ # Create a new ExternalThreeDS instance
428
+ def external_three_ds(data = {})
429
+ obj = ExternalThreeDS.new(self, data)
430
+ end
431
+
432
+ # Create a new NativeAPMTransactionDetails instance
433
+ def native_apm_transaction_details(data = {})
434
+ obj = NativeAPMTransactionDetails.new(self, data)
435
+ end
436
+
378
437
  # Create a new NativeAPMTransactionDetailsGateway instance
379
438
  def native_apm_transaction_details_gateway(data = {})
380
439
  obj = NativeAPMTransactionDetailsGateway.new(self, data)
@@ -385,11 +444,6 @@ module ProcessOut
385
444
  obj = NativeAPMTransactionDetailsInvoice.new(self, data)
386
445
  end
387
446
 
388
- # Create a new NativeAPMTransactionDetails instance
389
- def native_apm_transaction_details(data = {})
390
- obj = NativeAPMTransactionDetails.new(self, data)
391
- end
392
-
393
447
 
394
448
  end
395
449
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: processout
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel HUEZ
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-10 00:00:00.000000000 Z
11
+ date: 2024-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -102,6 +102,15 @@ files:
102
102
  - lib/processout/errors/notfound_error.rb
103
103
  - lib/processout/errors/validation_error.rb
104
104
  - lib/processout/event.rb
105
+ - lib/processout/export_layout.rb
106
+ - lib/processout/export_layout_configuration.rb
107
+ - lib/processout/export_layout_configuration_amount.rb
108
+ - lib/processout/export_layout_configuration_column.rb
109
+ - lib/processout/export_layout_configuration_configuration_options_amount.rb
110
+ - lib/processout/export_layout_configuration_configuration_options_time.rb
111
+ - lib/processout/export_layout_configuration_options.rb
112
+ - lib/processout/export_layout_configuration_time.rb
113
+ - lib/processout/external_three_ds.rb
105
114
  - lib/processout/gateway.rb
106
115
  - lib/processout/gateway_configuration.rb
107
116
  - lib/processout/gateway_request.rb