groupdocs_conversion_cloud 25.9 → 25.12

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/groupdocs_conversion_cloud/models/{tsv_convert_options.rb → cad_convert_options.rb} +74 -32
  3. data/lib/groupdocs_conversion_cloud/models/{pps_convert_options.rb → compression_convert_options.rb} +7 -22
  4. data/lib/groupdocs_conversion_cloud/models/compression_load_options.rb +224 -0
  5. data/lib/groupdocs_conversion_cloud/models/database_load_options.rb +214 -0
  6. data/lib/groupdocs_conversion_cloud/models/{odp_convert_options.rb → diagram_convert_options.rb} +14 -24
  7. data/lib/groupdocs_conversion_cloud/models/e_book_load_options.rb +214 -0
  8. data/lib/groupdocs_conversion_cloud/models/{ppt_convert_options.rb → email_convert_options.rb} +7 -32
  9. data/lib/groupdocs_conversion_cloud/models/{otp_convert_options.rb → finance_convert_options.rb} +7 -32
  10. data/lib/groupdocs_conversion_cloud/models/{ppsm_convert_options.rb → finance_load_options.rb} +11 -78
  11. data/lib/groupdocs_conversion_cloud/models/{potm_convert_options.rb → font_convert_options.rb} +7 -32
  12. data/lib/groupdocs_conversion_cloud/models/font_load_options.rb +214 -0
  13. data/lib/groupdocs_conversion_cloud/models/{txt_convert_options.rb → gis_convert_options.rb} +3 -3
  14. data/lib/groupdocs_conversion_cloud/models/gis_load_options.rb +244 -0
  15. data/lib/groupdocs_conversion_cloud/models/image_convert_options.rb +44 -4
  16. data/lib/groupdocs_conversion_cloud/models/jpg_convert_options.rb +1 -265
  17. data/lib/groupdocs_conversion_cloud/models/mbox_load_options.rb +214 -0
  18. data/lib/groupdocs_conversion_cloud/models/{one_load_options.rb → note_load_options.rb} +2 -2
  19. data/lib/groupdocs_conversion_cloud/models/olm_load_options.rb +224 -0
  20. data/lib/groupdocs_conversion_cloud/models/pdl_convert_options.rb +35 -5
  21. data/lib/groupdocs_conversion_cloud/models/pdl_load_options.rb +214 -0
  22. data/lib/groupdocs_conversion_cloud/models/project_management_convert_options.rb +256 -0
  23. data/lib/groupdocs_conversion_cloud/models/psd_convert_options.rb +1 -244
  24. data/lib/groupdocs_conversion_cloud/models/pub_load_options.rb +214 -0
  25. data/lib/groupdocs_conversion_cloud/models/rtf_convert_options.rb +1 -237
  26. data/lib/groupdocs_conversion_cloud/models/spreadsheet_convert_options.rb +4 -19
  27. data/lib/groupdocs_conversion_cloud/models/three_d_convert_options.rb +256 -0
  28. data/lib/groupdocs_conversion_cloud/models/three_d_load_options.rb +214 -0
  29. data/lib/groupdocs_conversion_cloud/models/tiff_convert_options.rb +1 -244
  30. data/lib/groupdocs_conversion_cloud/models/vcf_load_options.rb +224 -0
  31. data/lib/groupdocs_conversion_cloud/models/webp_convert_options.rb +1 -265
  32. data/lib/groupdocs_conversion_cloud/models/word_processing_convert_options.rb +14 -4
  33. data/lib/groupdocs_conversion_cloud/version.rb +1 -1
  34. data/lib/groupdocs_conversion_cloud.rb +27 -53
  35. metadata +24 -50
  36. data/lib/groupdocs_conversion_cloud/models/bmp_convert_options.rb +0 -468
  37. data/lib/groupdocs_conversion_cloud/models/dcm_convert_options.rb +0 -468
  38. data/lib/groupdocs_conversion_cloud/models/djvu_convert_options.rb +0 -468
  39. data/lib/groupdocs_conversion_cloud/models/dng_convert_options.rb +0 -468
  40. data/lib/groupdocs_conversion_cloud/models/doc_convert_options.rb +0 -440
  41. data/lib/groupdocs_conversion_cloud/models/docm_convert_options.rb +0 -440
  42. data/lib/groupdocs_conversion_cloud/models/docx_convert_options.rb +0 -440
  43. data/lib/groupdocs_conversion_cloud/models/dot_convert_options.rb +0 -440
  44. data/lib/groupdocs_conversion_cloud/models/dotm_convert_options.rb +0 -440
  45. data/lib/groupdocs_conversion_cloud/models/dotx_convert_options.rb +0 -440
  46. data/lib/groupdocs_conversion_cloud/models/emf_convert_options.rb +0 -468
  47. data/lib/groupdocs_conversion_cloud/models/gif_convert_options.rb +0 -468
  48. data/lib/groupdocs_conversion_cloud/models/ico_convert_options.rb +0 -468
  49. data/lib/groupdocs_conversion_cloud/models/j2c_convert_options.rb +0 -483
  50. data/lib/groupdocs_conversion_cloud/models/j2k_convert_options.rb +0 -483
  51. data/lib/groupdocs_conversion_cloud/models/jp2_convert_options.rb +0 -483
  52. data/lib/groupdocs_conversion_cloud/models/jpeg_convert_options.rb +0 -483
  53. data/lib/groupdocs_conversion_cloud/models/jpf_convert_options.rb +0 -483
  54. data/lib/groupdocs_conversion_cloud/models/jpm_convert_options.rb +0 -483
  55. data/lib/groupdocs_conversion_cloud/models/jpx_convert_options.rb +0 -483
  56. data/lib/groupdocs_conversion_cloud/models/odg_convert_options.rb +0 -468
  57. data/lib/groupdocs_conversion_cloud/models/ods_convert_options.rb +0 -296
  58. data/lib/groupdocs_conversion_cloud/models/odt_convert_options.rb +0 -440
  59. data/lib/groupdocs_conversion_cloud/models/ots_convert_options.rb +0 -296
  60. data/lib/groupdocs_conversion_cloud/models/ott_convert_options.rb +0 -440
  61. data/lib/groupdocs_conversion_cloud/models/png_convert_options.rb +0 -468
  62. data/lib/groupdocs_conversion_cloud/models/potx_convert_options.rb +0 -281
  63. data/lib/groupdocs_conversion_cloud/models/ppsx_convert_options.rb +0 -281
  64. data/lib/groupdocs_conversion_cloud/models/pptm_convert_options.rb +0 -281
  65. data/lib/groupdocs_conversion_cloud/models/pptx_convert_options.rb +0 -281
  66. data/lib/groupdocs_conversion_cloud/models/tif_convert_options.rb +0 -494
  67. data/lib/groupdocs_conversion_cloud/models/wmf_convert_options.rb +0 -468
  68. data/lib/groupdocs_conversion_cloud/models/xls2003_convert_options.rb +0 -296
  69. data/lib/groupdocs_conversion_cloud/models/xls_convert_options.rb +0 -296
  70. data/lib/groupdocs_conversion_cloud/models/xlsb_convert_options.rb +0 -296
  71. data/lib/groupdocs_conversion_cloud/models/xlsm_convert_options.rb +0 -296
  72. data/lib/groupdocs_conversion_cloud/models/xlsx_convert_options.rb +0 -296
  73. data/lib/groupdocs_conversion_cloud/models/xltm_convert_options.rb +0 -296
  74. data/lib/groupdocs_conversion_cloud/models/xltx_convert_options.rb +0 -296
@@ -31,54 +31,6 @@ module GroupDocsConversionCloud
31
31
  # Psd convert options
32
32
  class PsdConvertOptions
33
33
 
34
- # Start conversion from FromPage page
35
- attr_accessor :from_page
36
-
37
- # Number of pages to convert
38
- attr_accessor :pages_count
39
-
40
- # Convert specific pages. The list contains the page indexes of the pages to be converted
41
- attr_accessor :pages
42
-
43
- # Watermark specific options
44
- attr_accessor :watermark_options
45
-
46
- # Desired image width after conversion
47
- attr_accessor :width
48
-
49
- # Desired image height after conversion
50
- attr_accessor :height
51
-
52
- # Desired image horizontal resolution after conversion. The default resolution is the resolution of the input file or 96dpi
53
- attr_accessor :horizontal_resolution
54
-
55
- # Desired image vertical resolution after conversion. The default resolution is the resolution of the input file or 96dpi
56
- attr_accessor :vertical_resolution
57
-
58
- # Convert to grayscale image
59
- attr_accessor :grayscale
60
-
61
- # Image rotation angle
62
- attr_accessor :rotate_angle
63
-
64
- # If true, the input firstly is converted to PDF and after that to desired format
65
- attr_accessor :use_pdf
66
-
67
- # Adjust image brightness
68
- attr_accessor :brightness
69
-
70
- # Adjust image contrast
71
- attr_accessor :contrast
72
-
73
- # Adjust image gamma
74
- attr_accessor :gamma
75
-
76
- # Image flip mode
77
- attr_accessor :flip_mode
78
-
79
- # Gets or sets a background color.
80
- attr_accessor :background_color
81
-
82
34
  # Bits count per color channel
83
35
  attr_accessor :channel_bits_count
84
36
 
@@ -118,22 +70,6 @@ module GroupDocsConversionCloud
118
70
  # Attribute mapping from ruby-style variable name to JSON key.
119
71
  def self.attribute_map
120
72
  {
121
- :'from_page' => :'FromPage',
122
- :'pages_count' => :'PagesCount',
123
- :'pages' => :'Pages',
124
- :'watermark_options' => :'WatermarkOptions',
125
- :'width' => :'Width',
126
- :'height' => :'Height',
127
- :'horizontal_resolution' => :'HorizontalResolution',
128
- :'vertical_resolution' => :'VerticalResolution',
129
- :'grayscale' => :'Grayscale',
130
- :'rotate_angle' => :'RotateAngle',
131
- :'use_pdf' => :'UsePdf',
132
- :'brightness' => :'Brightness',
133
- :'contrast' => :'Contrast',
134
- :'gamma' => :'Gamma',
135
- :'flip_mode' => :'FlipMode',
136
- :'background_color' => :'BackgroundColor',
137
73
  :'channel_bits_count' => :'ChannelBitsCount',
138
74
  :'channels_count' => :'ChannelsCount',
139
75
  :'color_mode' => :'ColorMode',
@@ -145,22 +81,6 @@ module GroupDocsConversionCloud
145
81
  # Attribute type mapping.
146
82
  def self.swagger_types
147
83
  {
148
- :'from_page' => :'Integer',
149
- :'pages_count' => :'Integer',
150
- :'pages' => :'Array<Integer>',
151
- :'watermark_options' => :'WatermarkOptions',
152
- :'width' => :'Integer',
153
- :'height' => :'Integer',
154
- :'horizontal_resolution' => :'Integer',
155
- :'vertical_resolution' => :'Integer',
156
- :'grayscale' => :'BOOLEAN',
157
- :'rotate_angle' => :'Integer',
158
- :'use_pdf' => :'BOOLEAN',
159
- :'brightness' => :'Integer',
160
- :'contrast' => :'Integer',
161
- :'gamma' => :'Float',
162
- :'flip_mode' => :'String',
163
- :'background_color' => :'String',
164
84
  :'channel_bits_count' => :'Integer',
165
85
  :'channels_count' => :'Integer',
166
86
  :'color_mode' => :'String',
@@ -177,72 +97,6 @@ module GroupDocsConversionCloud
177
97
  # convert string to symbol for hash key
178
98
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
179
99
 
180
- if attributes.key?(:'FromPage')
181
- self.from_page = attributes[:'FromPage']
182
- end
183
-
184
- if attributes.key?(:'PagesCount')
185
- self.pages_count = attributes[:'PagesCount']
186
- end
187
-
188
- if attributes.key?(:'Pages')
189
- if (value = attributes[:'Pages']).is_a?(Array)
190
- self.pages = value
191
- end
192
- end
193
-
194
- if attributes.key?(:'WatermarkOptions')
195
- self.watermark_options = attributes[:'WatermarkOptions']
196
- end
197
-
198
- if attributes.key?(:'Width')
199
- self.width = attributes[:'Width']
200
- end
201
-
202
- if attributes.key?(:'Height')
203
- self.height = attributes[:'Height']
204
- end
205
-
206
- if attributes.key?(:'HorizontalResolution')
207
- self.horizontal_resolution = attributes[:'HorizontalResolution']
208
- end
209
-
210
- if attributes.key?(:'VerticalResolution')
211
- self.vertical_resolution = attributes[:'VerticalResolution']
212
- end
213
-
214
- if attributes.key?(:'Grayscale')
215
- self.grayscale = attributes[:'Grayscale']
216
- end
217
-
218
- if attributes.key?(:'RotateAngle')
219
- self.rotate_angle = attributes[:'RotateAngle']
220
- end
221
-
222
- if attributes.key?(:'UsePdf')
223
- self.use_pdf = attributes[:'UsePdf']
224
- end
225
-
226
- if attributes.key?(:'Brightness')
227
- self.brightness = attributes[:'Brightness']
228
- end
229
-
230
- if attributes.key?(:'Contrast')
231
- self.contrast = attributes[:'Contrast']
232
- end
233
-
234
- if attributes.key?(:'Gamma')
235
- self.gamma = attributes[:'Gamma']
236
- end
237
-
238
- if attributes.key?(:'FlipMode')
239
- self.flip_mode = attributes[:'FlipMode']
240
- end
241
-
242
- if attributes.key?(:'BackgroundColor')
243
- self.background_color = attributes[:'BackgroundColor']
244
- end
245
-
246
100
  if attributes.key?(:'ChannelBitsCount')
247
101
  self.channel_bits_count = attributes[:'ChannelBitsCount']
248
102
  end
@@ -269,58 +123,6 @@ module GroupDocsConversionCloud
269
123
  # @return Array for valid properies with the reasons
270
124
  def list_invalid_properties
271
125
  invalid_properties = []
272
- if @from_page.nil?
273
- invalid_properties.push("invalid value for 'from_page', from_page cannot be nil.")
274
- end
275
-
276
- if @pages_count.nil?
277
- invalid_properties.push("invalid value for 'pages_count', pages_count cannot be nil.")
278
- end
279
-
280
- if @width.nil?
281
- invalid_properties.push("invalid value for 'width', width cannot be nil.")
282
- end
283
-
284
- if @height.nil?
285
- invalid_properties.push("invalid value for 'height', height cannot be nil.")
286
- end
287
-
288
- if @horizontal_resolution.nil?
289
- invalid_properties.push("invalid value for 'horizontal_resolution', horizontal_resolution cannot be nil.")
290
- end
291
-
292
- if @vertical_resolution.nil?
293
- invalid_properties.push("invalid value for 'vertical_resolution', vertical_resolution cannot be nil.")
294
- end
295
-
296
- if @grayscale.nil?
297
- invalid_properties.push("invalid value for 'grayscale', grayscale cannot be nil.")
298
- end
299
-
300
- if @rotate_angle.nil?
301
- invalid_properties.push("invalid value for 'rotate_angle', rotate_angle cannot be nil.")
302
- end
303
-
304
- if @use_pdf.nil?
305
- invalid_properties.push("invalid value for 'use_pdf', use_pdf cannot be nil.")
306
- end
307
-
308
- if @brightness.nil?
309
- invalid_properties.push("invalid value for 'brightness', brightness cannot be nil.")
310
- end
311
-
312
- if @contrast.nil?
313
- invalid_properties.push("invalid value for 'contrast', contrast cannot be nil.")
314
- end
315
-
316
- if @gamma.nil?
317
- invalid_properties.push("invalid value for 'gamma', gamma cannot be nil.")
318
- end
319
-
320
- if @flip_mode.nil?
321
- invalid_properties.push("invalid value for 'flip_mode', flip_mode cannot be nil.")
322
- end
323
-
324
126
  if @channel_bits_count.nil?
325
127
  invalid_properties.push("invalid value for 'channel_bits_count', channel_bits_count cannot be nil.")
326
128
  end
@@ -347,21 +149,6 @@ module GroupDocsConversionCloud
347
149
  # Check to see if the all the properties in the model are valid
348
150
  # @return true if the model is valid
349
151
  def valid?
350
- return false if @from_page.nil?
351
- return false if @pages_count.nil?
352
- return false if @width.nil?
353
- return false if @height.nil?
354
- return false if @horizontal_resolution.nil?
355
- return false if @vertical_resolution.nil?
356
- return false if @grayscale.nil?
357
- return false if @rotate_angle.nil?
358
- return false if @use_pdf.nil?
359
- return false if @brightness.nil?
360
- return false if @contrast.nil?
361
- return false if @gamma.nil?
362
- return false if @flip_mode.nil?
363
- flip_mode_validator = EnumAttributeValidator.new('String', ["None", "FlipX", "FlipY", "FlipXY"])
364
- return false unless flip_mode_validator.valid?(@flip_mode)
365
152
  return false if @channel_bits_count.nil?
366
153
  return false if @channels_count.nil?
367
154
  return false if @color_mode.nil?
@@ -374,20 +161,6 @@ module GroupDocsConversionCloud
374
161
  return true
375
162
  end
376
163
 
377
- # Custom attribute writer method checking allowed values (enum).
378
- # @param [Object] flip_mode Object to be assigned
379
- def flip_mode=(flip_mode)
380
- validator = EnumAttributeValidator.new('String', ["None", "FlipX", "FlipY", "FlipXY"])
381
- if flip_mode.to_i == 0
382
- unless validator.valid?(flip_mode)
383
- raise ArgumentError, "invalid value for 'flip_mode', must be one of #{validator.allowable_values}."
384
- end
385
- @flip_mode = flip_mode
386
- else
387
- @flip_mode = validator.allowable_values[flip_mode.to_i]
388
- end
389
- end
390
-
391
164
  # Custom attribute writer method checking allowed values (enum).
392
165
  # @param [Object] color_mode Object to be assigned
393
166
  def color_mode=(color_mode)
@@ -421,22 +194,6 @@ module GroupDocsConversionCloud
421
194
  def ==(other)
422
195
  return true if self.equal?(other)
423
196
  self.class == other.class &&
424
- from_page == other.from_page &&
425
- pages_count == other.pages_count &&
426
- pages == other.pages &&
427
- watermark_options == other.watermark_options &&
428
- width == other.width &&
429
- height == other.height &&
430
- horizontal_resolution == other.horizontal_resolution &&
431
- vertical_resolution == other.vertical_resolution &&
432
- grayscale == other.grayscale &&
433
- rotate_angle == other.rotate_angle &&
434
- use_pdf == other.use_pdf &&
435
- brightness == other.brightness &&
436
- contrast == other.contrast &&
437
- gamma == other.gamma &&
438
- flip_mode == other.flip_mode &&
439
- background_color == other.background_color &&
440
197
  channel_bits_count == other.channel_bits_count &&
441
198
  channels_count == other.channels_count &&
442
199
  color_mode == other.color_mode &&
@@ -453,7 +210,7 @@ module GroupDocsConversionCloud
453
210
  # Calculates hash code according to all attributes.
454
211
  # @return [Fixnum] Hash code
455
212
  def hash
456
- [from_page, pages_count, pages, watermark_options, width, height, horizontal_resolution, vertical_resolution, grayscale, rotate_angle, use_pdf, brightness, contrast, gamma, flip_mode, background_color, channel_bits_count, channels_count, color_mode, compression_method, version].hash
213
+ [channel_bits_count, channels_count, color_mode, compression_method, version].hash
457
214
  end
458
215
 
459
216
  # Downcases first letter.
@@ -0,0 +1,214 @@
1
+ #
2
+ # --------------------------------------------------------------------------------------------------------------------
3
+ # <copyright company="Aspose Pty Ltd" file="pub_load_options.rb">
4
+ # Copyright (c) Aspose Pty Ltd
5
+ # </copyright>
6
+ # <summary>
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+ # </summary>
25
+ # --------------------------------------------------------------------------------------------------------------------
26
+ #
27
+
28
+ require 'date'
29
+
30
+ module GroupDocsConversionCloud
31
+ # Options for loading Pub documents
32
+ class PubLoadOptions
33
+
34
+ # The format of input file, (\"docx\", for example). This field must be filled with correct input file format when using ConvertDirect method, which accept input file as binary stream, and, because of that, API can correctly handle LoadOptions. In regular conversion, the input file format taken from the input file name and this field ignored.
35
+ attr_accessor :format
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+ :'format' => :'Format'
41
+ }
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.swagger_types
46
+ {
47
+ :'format' => :'String'
48
+ }
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ return unless attributes.is_a?(Hash)
55
+
56
+ # convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
58
+
59
+ if attributes.key?(:'Format')
60
+ self.format = attributes[:'Format']
61
+ end
62
+
63
+ end
64
+
65
+ # Show invalid properties with the reasons. Usually used together with valid?
66
+ # @return Array for valid properies with the reasons
67
+ def list_invalid_properties
68
+ invalid_properties = []
69
+ return invalid_properties
70
+ end
71
+
72
+ # Check to see if the all the properties in the model are valid
73
+ # @return true if the model is valid
74
+ def valid?
75
+ return true
76
+ end
77
+
78
+ # Checks equality by comparing each attribute.
79
+ # @param [Object] Object to be compared
80
+ def ==(other)
81
+ return true if self.equal?(other)
82
+ self.class == other.class &&
83
+ format == other.format
84
+ end
85
+
86
+ # @see the `==` method
87
+ # @param [Object] Object to be compared
88
+ def eql?(other)
89
+ self == other
90
+ end
91
+
92
+ # Calculates hash code according to all attributes.
93
+ # @return [Fixnum] Hash code
94
+ def hash
95
+ [format].hash
96
+ end
97
+
98
+ # Downcases first letter.
99
+ # @return downcased string
100
+ def uncap(str)
101
+ str[0, 1].downcase + str[1..-1]
102
+ end
103
+
104
+ # Builds the object from hash
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ # @return [Object] Returns the model itself
107
+ def build_from_hash(attributes)
108
+ return nil unless attributes.is_a?(Hash)
109
+ self.class.swagger_types.each_pair do |key, type|
110
+ pname = uncap(self.class.attribute_map[key]).intern
111
+ value = attributes[pname]
112
+ if type =~ /\AArray<(.*)>/i
113
+ # check to ensure the input is an array given that the the attribute
114
+ # is documented as an array but the input is not
115
+ if value.is_a?(Array)
116
+ self.send("#{key}=", value.map { |v| _deserialize($1, v) })
117
+ end
118
+ elsif !value.nil?
119
+ self.send("#{key}=", _deserialize(type, value))
120
+ end
121
+ # or else data not found in attributes(hash), not an issue as the data can be optional
122
+ end
123
+
124
+ self
125
+ end
126
+
127
+ # Deserializes the data based on type
128
+ # @param string type Data type
129
+ # @param string value Value to be deserialized
130
+ # @return [Object] Deserialized data
131
+ def _deserialize(type, value)
132
+ case type.to_sym
133
+ when :DateTime
134
+ Date.parse value
135
+ when :Date
136
+ Date.parse value
137
+ when :String
138
+ value.to_s
139
+ when :Integer
140
+ value.to_i
141
+ when :Float
142
+ value.to_f
143
+ when :BOOLEAN
144
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
145
+ true
146
+ else
147
+ false
148
+ end
149
+ when :Object
150
+ # generic object (usually a Hash), return directly
151
+ value
152
+ when /\AArray<(?<inner_type>.+)>\z/
153
+ inner_type = Regexp.last_match[:inner_type]
154
+ value.map { |v| _deserialize(inner_type, v) }
155
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
156
+ k_type = Regexp.last_match[:k_type]
157
+ v_type = Regexp.last_match[:v_type]
158
+ {}.tap do |hash|
159
+ value.each do |k, v|
160
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
161
+ end
162
+ end
163
+ else
164
+ # model
165
+ temp_model = GroupDocsConversionCloud.const_get(type).new
166
+ temp_model.build_from_hash(value)
167
+ end
168
+ end
169
+
170
+ # Returns the string representation of the object
171
+ # @return [String] String presentation of the object
172
+ def to_s
173
+ to_hash.to_s
174
+ end
175
+
176
+ # to_body is an alias to to_hash (backward compatibility)
177
+ # @return [Hash] Returns the object in the form of hash
178
+ def to_body
179
+ to_hash
180
+ end
181
+
182
+ # Returns the object in the form of hash
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_hash
185
+ hash = {}
186
+ self.class.attribute_map.each_pair do |attr, param|
187
+ value = self.send(attr)
188
+ next if value.nil?
189
+ hash[param] = _to_hash(value)
190
+ end
191
+ hash
192
+ end
193
+
194
+ # Outputs non-array value in the form of hash
195
+ # For object, use to_hash. Otherwise, just return the value
196
+ # @param [Object] value Any valid value
197
+ # @return [Hash] Returns the value in the form of hash
198
+ def _to_hash(value)
199
+ if value.is_a?(Array)
200
+ value.compact.map { |v| _to_hash(v) }
201
+ elsif value.is_a?(Hash)
202
+ {}.tap do |hash|
203
+ value.each { |k, v| hash[k] = _to_hash(v) }
204
+ end
205
+ elsif value.respond_to? :to_hash
206
+ value.to_hash
207
+ else
208
+ value
209
+ end
210
+ end
211
+
212
+ end
213
+
214
+ end