processout 3.0.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
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