aspose_slides_cloud 21.12.1 → 22.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -40
  3. data/TestData/test-unprotected.pptx +0 -0
  4. data/TestData/test.pptx +0 -0
  5. data/aspose_slides_cloud.gemspec +1 -1
  6. data/lib/aspose_slides_cloud/api/slides_api.rb +442 -30
  7. data/lib/aspose_slides_cloud/api_client.rb +1 -1
  8. data/lib/aspose_slides_cloud/configuration.rb +1 -1
  9. data/lib/aspose_slides_cloud/models/accent_element.rb +239 -0
  10. data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +279 -0
  11. data/lib/aspose_slides_cloud/models/array_element.rb +305 -0
  12. data/lib/aspose_slides_cloud/models/audio_frame.rb +26 -4
  13. data/lib/aspose_slides_cloud/models/bar_element.rb +251 -0
  14. data/lib/aspose_slides_cloud/models/block_element.rb +231 -0
  15. data/lib/aspose_slides_cloud/models/border_box_element.rb +309 -0
  16. data/lib/aspose_slides_cloud/models/box_element.rb +279 -0
  17. data/lib/aspose_slides_cloud/models/chart.rb +3 -1
  18. data/lib/aspose_slides_cloud/models/close_path_segment.rb +219 -0
  19. data/lib/aspose_slides_cloud/models/connector.rb +3 -1
  20. data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +309 -0
  21. data/lib/aspose_slides_cloud/models/delimiter_element.rb +293 -0
  22. data/lib/aspose_slides_cloud/models/export_format.rb +1 -0
  23. data/lib/aspose_slides_cloud/models/fraction_element.rb +261 -0
  24. data/lib/aspose_slides_cloud/models/function_element.rb +239 -0
  25. data/lib/aspose_slides_cloud/models/geometry_path.rb +263 -0
  26. data/lib/aspose_slides_cloud/models/geometry_paths.rb +209 -0
  27. data/lib/aspose_slides_cloud/models/geometry_shape.rb +3 -1
  28. data/lib/aspose_slides_cloud/models/gif_export_options.rb +230 -0
  29. data/lib/aspose_slides_cloud/models/graphical_object.rb +3 -1
  30. data/lib/aspose_slides_cloud/models/group_shape.rb +3 -1
  31. data/lib/aspose_slides_cloud/models/grouping_character_element.rb +283 -0
  32. data/lib/aspose_slides_cloud/models/hyperlink.rb +348 -0
  33. data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +249 -0
  34. data/lib/aspose_slides_cloud/models/limit_element.rb +249 -0
  35. data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +249 -0
  36. data/lib/aspose_slides_cloud/models/math_element.rb +240 -0
  37. data/lib/aspose_slides_cloud/models/math_paragraph.rb +253 -0
  38. data/lib/aspose_slides_cloud/models/matrix_element.rb +337 -0
  39. data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +249 -0
  40. data/lib/aspose_slides_cloud/models/nary_operator_element.rb +311 -0
  41. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +3 -1
  42. data/lib/aspose_slides_cloud/models/path_segment.rb +240 -0
  43. data/lib/aspose_slides_cloud/models/picture_frame.rb +3 -1
  44. data/lib/aspose_slides_cloud/models/portion.rb +32 -2
  45. data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +279 -0
  46. data/lib/aspose_slides_cloud/models/radical_element.rb +249 -0
  47. data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +259 -0
  48. data/lib/aspose_slides_cloud/models/save.rb +2 -2
  49. data/lib/aspose_slides_cloud/models/save_slide.rb +2 -2
  50. data/lib/aspose_slides_cloud/models/shape.rb +3 -1
  51. data/lib/aspose_slides_cloud/models/shape_base.rb +21 -1
  52. data/lib/aspose_slides_cloud/models/slide_export_format.rb +1 -0
  53. data/lib/aspose_slides_cloud/models/smart_art.rb +3 -1
  54. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +3 -1
  55. data/lib/aspose_slides_cloud/models/subscript_element.rb +239 -0
  56. data/lib/aspose_slides_cloud/models/superscript_element.rb +239 -0
  57. data/lib/aspose_slides_cloud/models/table.rb +3 -1
  58. data/lib/aspose_slides_cloud/models/text_element.rb +229 -0
  59. data/lib/aspose_slides_cloud/models/video_frame.rb +5 -3
  60. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +210 -0
  61. data/lib/aspose_slides_cloud/type_registry.rb +72 -0
  62. data/lib/aspose_slides_cloud/version.rb +1 -1
  63. data/lib/aspose_slides_cloud.rb +33 -0
  64. data/spec/api/slides_api_spec.rb +1203 -4
  65. data/spec/spec_utils.rb +7 -1
  66. data/testRules.json +9 -0
  67. metadata +39 -6
@@ -0,0 +1,309 @@
1
+ =begin
2
+ Copyright (c) 2019 Aspose Pty Ltd
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ SOFTWARE.
21
+ =end
22
+
23
+ require 'date'
24
+
25
+ module AsposeSlidesCloud
26
+ # Cubic Bezier curve segment of the geometry path
27
+ class CubicBezierToPathSegment < PathSegment
28
+ # X coordinate of the first direction point
29
+ attr_accessor :x1
30
+
31
+ # Y coordinate of the first direction point
32
+ attr_accessor :y1
33
+
34
+ # X coordinate of the second direction point
35
+ attr_accessor :x2
36
+
37
+ # Y coordinate of the second direction point
38
+ attr_accessor :y2
39
+
40
+ # X coordinate of end point
41
+ attr_accessor :x3
42
+
43
+ # Y coordinate of end point
44
+ attr_accessor :y3
45
+
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
65
+ end
66
+ end
67
+
68
+ # Attribute mapping from ruby-style variable name to JSON key.
69
+ def self.attribute_map
70
+ super.merge({
71
+ :'x1' => :'X1',
72
+ :'y1' => :'Y1',
73
+ :'x2' => :'X2',
74
+ :'y2' => :'Y2',
75
+ :'x3' => :'X3',
76
+ :'y3' => :'Y3',
77
+ })
78
+ end
79
+
80
+ # Attribute type mapping.
81
+ def self.swagger_types
82
+ super.merge({
83
+ :'x1' => :'Float',
84
+ :'y1' => :'Float',
85
+ :'x2' => :'Float',
86
+ :'y2' => :'Float',
87
+ :'x3' => :'Float',
88
+ :'y3' => :'Float',
89
+ })
90
+ end
91
+
92
+ # Initializes the object
93
+ # @param [Hash] attributes Model attributes in the form of hash
94
+ def initialize(attributes = {})
95
+ super
96
+
97
+ if attributes.has_key?(:'X1')
98
+ self.x1 = attributes[:'X1']
99
+ end
100
+
101
+ if attributes.has_key?(:'Y1')
102
+ self.y1 = attributes[:'Y1']
103
+ end
104
+
105
+ if attributes.has_key?(:'X2')
106
+ self.x2 = attributes[:'X2']
107
+ end
108
+
109
+ if attributes.has_key?(:'Y2')
110
+ self.y2 = attributes[:'Y2']
111
+ end
112
+
113
+ if attributes.has_key?(:'X3')
114
+ self.x3 = attributes[:'X3']
115
+ end
116
+
117
+ if attributes.has_key?(:'Y3')
118
+ self.y3 = attributes[:'Y3']
119
+ end
120
+ self.type = "CubicBezierTo"
121
+ end
122
+
123
+ # Show invalid properties with the reasons. Usually used together with valid?
124
+ # @return Array for valid properties with the reasons
125
+ def list_invalid_properties
126
+ invalid_properties = super
127
+ if @x1.nil?
128
+ invalid_properties.push('invalid value for "x1", x1 cannot be nil.')
129
+ end
130
+
131
+ if @y1.nil?
132
+ invalid_properties.push('invalid value for "y1", y1 cannot be nil.')
133
+ end
134
+
135
+ if @x2.nil?
136
+ invalid_properties.push('invalid value for "x2", x2 cannot be nil.')
137
+ end
138
+
139
+ if @y2.nil?
140
+ invalid_properties.push('invalid value for "y2", y2 cannot be nil.')
141
+ end
142
+
143
+ if @x3.nil?
144
+ invalid_properties.push('invalid value for "x3", x3 cannot be nil.')
145
+ end
146
+
147
+ if @y3.nil?
148
+ invalid_properties.push('invalid value for "y3", y3 cannot be nil.')
149
+ end
150
+
151
+ invalid_properties
152
+ end
153
+
154
+ # Check to see if the all the properties in the model are valid
155
+ # @return true if the model is valid
156
+ def valid?
157
+ return false if !super
158
+ return false if @x1.nil?
159
+ return false if @y1.nil?
160
+ return false if @x2.nil?
161
+ return false if @y2.nil?
162
+ return false if @x3.nil?
163
+ return false if @y3.nil?
164
+ true
165
+ end
166
+
167
+ # Checks equality by comparing each attribute.
168
+ # @param [Object] Object to be compared
169
+ def ==(o)
170
+ return true if self.equal?(o)
171
+ self.class == o.class &&
172
+ type == o.type &&
173
+ x1 == o.x1 &&
174
+ y1 == o.y1 &&
175
+ x2 == o.x2 &&
176
+ y2 == o.y2 &&
177
+ x3 == o.x3 &&
178
+ y3 == o.y3
179
+ end
180
+
181
+ # @see the `==` method
182
+ # @param [Object] Object to be compared
183
+ def eql?(o)
184
+ self == o
185
+ end
186
+
187
+ # Calculates hash code according to all attributes.
188
+ # @return [Fixnum] Hash code
189
+ def hash
190
+ [type, x1, y1, x2, y2, x3, y3].hash
191
+ end
192
+
193
+ # Builds the object from hash
194
+ # @param [Hash] attributes Model attributes in the form of hash
195
+ # @return [Object] Returns the model itself
196
+ def build_from_hash(attributes)
197
+ return nil unless attributes.is_a?(Hash)
198
+ self.class.swagger_types.each_pair do |key, type|
199
+ mapKey = self.class.attribute_map[key]
200
+ if !mapKey.nil?
201
+ val = attributes[mapKey]
202
+ if val.nil?
203
+ mapKeyString = mapKey.to_s
204
+ mapKeyString[0] = mapKeyString[0].downcase
205
+ mapKey = mapKeyString.to_sym
206
+ val = attributes[mapKey]
207
+ end
208
+ if !val.nil?
209
+ if type =~ /\AArray<(.*)>/i
210
+ # check to ensure the input is an array given that the the attribute
211
+ # is documented as an array but the input is not
212
+ if val.is_a?(Array)
213
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
214
+ end
215
+ else
216
+ self.send("#{key}=", _deserialize(type, val))
217
+ end
218
+ end
219
+ end
220
+ end
221
+
222
+ self
223
+ end
224
+
225
+ # Deserializes the data based on type
226
+ # @param string type Data type
227
+ # @param string value Value to be deserialized
228
+ # @return [Object] Deserialized data
229
+ def _deserialize(type, value)
230
+ case type.to_sym
231
+ when :DateTime
232
+ DateTime.parse(value)
233
+ when :Date
234
+ Date.parse(value)
235
+ when :String
236
+ value.to_s
237
+ when :Integer
238
+ value.to_i
239
+ when :Float
240
+ value.to_f
241
+ when :BOOLEAN
242
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
243
+ true
244
+ else
245
+ false
246
+ end
247
+ when :Object
248
+ # generic object (usually a Hash), return directly
249
+ value
250
+ when /\AArray<(?<inner_type>.+)>\z/
251
+ inner_type = Regexp.last_match[:inner_type]
252
+ value.map { |v| _deserialize(inner_type, v) }
253
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
254
+ k_type = Regexp.last_match[:k_type]
255
+ v_type = Regexp.last_match[:v_type]
256
+ {}.tap do |hash|
257
+ value.each do |k, v|
258
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
259
+ end
260
+ end
261
+ else # model
262
+ temp_model = AsposeSlidesCloud.const_get(type).new
263
+ temp_model.build_from_hash(value)
264
+ end
265
+ end
266
+
267
+ # Returns the string representation of the object
268
+ # @return [String] String presentation of the object
269
+ def to_s
270
+ to_hash.to_s
271
+ end
272
+
273
+ # to_body is an alias to to_hash (backward compatibility)
274
+ # @return [Hash] Returns the object in the form of hash
275
+ def to_body
276
+ to_hash
277
+ end
278
+
279
+ # Returns the object in the form of hash
280
+ # @return [Hash] Returns the object in the form of hash
281
+ def to_hash
282
+ hash = {}
283
+ self.class.attribute_map.each_pair do |attr, param|
284
+ value = self.send(attr)
285
+ next if value.nil?
286
+ hash[param] = _to_hash(value)
287
+ end
288
+ hash
289
+ end
290
+
291
+ # Outputs non-array value in the form of hash
292
+ # For object, use to_hash. Otherwise, just return the value
293
+ # @param [Object] value Any valid value
294
+ # @return [Hash] Returns the value in the form of hash
295
+ def _to_hash(value)
296
+ if value.is_a?(Array)
297
+ value.compact.map { |v| _to_hash(v) }
298
+ elsif value.is_a?(Hash)
299
+ {}.tap do |hash|
300
+ value.each { |k, v| hash[k] = _to_hash(v) }
301
+ end
302
+ elsif value.respond_to? :to_hash
303
+ value.to_hash
304
+ else
305
+ value
306
+ end
307
+ end
308
+ end
309
+ end
@@ -0,0 +1,293 @@
1
+ =begin
2
+ Copyright (c) 2019 Aspose Pty Ltd
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ SOFTWARE.
21
+ =end
22
+
23
+ require 'date'
24
+
25
+ module AsposeSlidesCloud
26
+ # Delimiter element
27
+ class DelimiterElement < MathElement
28
+ # Arguments
29
+ attr_accessor :arguments
30
+
31
+ # Beginning character
32
+ attr_accessor :beginning_character
33
+
34
+ # Separator character
35
+ attr_accessor :separator_character
36
+
37
+ # Ending character
38
+ attr_accessor :ending_character
39
+
40
+ # Grow to match operand height
41
+ attr_accessor :grow_to_match_operand_height
42
+
43
+ # Delimiter shape
44
+ attr_accessor :delimiter_shape
45
+
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
65
+ end
66
+ end
67
+
68
+ # Attribute mapping from ruby-style variable name to JSON key.
69
+ def self.attribute_map
70
+ super.merge({
71
+ :'arguments' => :'Arguments',
72
+ :'beginning_character' => :'BeginningCharacter',
73
+ :'separator_character' => :'SeparatorCharacter',
74
+ :'ending_character' => :'EndingCharacter',
75
+ :'grow_to_match_operand_height' => :'GrowToMatchOperandHeight',
76
+ :'delimiter_shape' => :'DelimiterShape',
77
+ })
78
+ end
79
+
80
+ # Attribute type mapping.
81
+ def self.swagger_types
82
+ super.merge({
83
+ :'arguments' => :'Array<MathElement>',
84
+ :'beginning_character' => :'String',
85
+ :'separator_character' => :'String',
86
+ :'ending_character' => :'String',
87
+ :'grow_to_match_operand_height' => :'BOOLEAN',
88
+ :'delimiter_shape' => :'String',
89
+ })
90
+ end
91
+
92
+ # Initializes the object
93
+ # @param [Hash] attributes Model attributes in the form of hash
94
+ def initialize(attributes = {})
95
+ super
96
+
97
+ if attributes.has_key?(:'Arguments')
98
+ if (value = attributes[:'Arguments']).is_a?(Array)
99
+ self.arguments = value
100
+ end
101
+ end
102
+
103
+ if attributes.has_key?(:'BeginningCharacter')
104
+ self.beginning_character = attributes[:'BeginningCharacter']
105
+ end
106
+
107
+ if attributes.has_key?(:'SeparatorCharacter')
108
+ self.separator_character = attributes[:'SeparatorCharacter']
109
+ end
110
+
111
+ if attributes.has_key?(:'EndingCharacter')
112
+ self.ending_character = attributes[:'EndingCharacter']
113
+ end
114
+
115
+ if attributes.has_key?(:'GrowToMatchOperandHeight')
116
+ self.grow_to_match_operand_height = attributes[:'GrowToMatchOperandHeight']
117
+ end
118
+
119
+ if attributes.has_key?(:'DelimiterShape')
120
+ self.delimiter_shape = attributes[:'DelimiterShape']
121
+ end
122
+ self.type = "Delimiter"
123
+ end
124
+
125
+ # Show invalid properties with the reasons. Usually used together with valid?
126
+ # @return Array for valid properties with the reasons
127
+ def list_invalid_properties
128
+ invalid_properties = super
129
+ invalid_properties
130
+ end
131
+
132
+ # Check to see if the all the properties in the model are valid
133
+ # @return true if the model is valid
134
+ def valid?
135
+ return false if !super
136
+ delimiter_shape_validator = EnumAttributeValidator.new('String', ['Centered', 'Match'])
137
+ return false unless delimiter_shape_validator.valid?(@delimiter_shape)
138
+ true
139
+ end
140
+
141
+ # Custom attribute writer method checking allowed values (enum).
142
+ # @param [Object] delimiter_shape Object to be assigned
143
+ def delimiter_shape=(delimiter_shape)
144
+ validator = EnumAttributeValidator.new('String', ['Centered', 'Match'])
145
+ unless validator.valid?(delimiter_shape)
146
+ fail ArgumentError, 'invalid value for "delimiter_shape", must be one of #{validator.allowable_values}.'
147
+ end
148
+ @delimiter_shape = delimiter_shape
149
+ end
150
+
151
+ # Checks equality by comparing each attribute.
152
+ # @param [Object] Object to be compared
153
+ def ==(o)
154
+ return true if self.equal?(o)
155
+ self.class == o.class &&
156
+ type == o.type &&
157
+ arguments == o.arguments &&
158
+ beginning_character == o.beginning_character &&
159
+ separator_character == o.separator_character &&
160
+ ending_character == o.ending_character &&
161
+ grow_to_match_operand_height == o.grow_to_match_operand_height &&
162
+ delimiter_shape == o.delimiter_shape
163
+ end
164
+
165
+ # @see the `==` method
166
+ # @param [Object] Object to be compared
167
+ def eql?(o)
168
+ self == o
169
+ end
170
+
171
+ # Calculates hash code according to all attributes.
172
+ # @return [Fixnum] Hash code
173
+ def hash
174
+ [type, arguments, beginning_character, separator_character, ending_character, grow_to_match_operand_height, delimiter_shape].hash
175
+ end
176
+
177
+ # Builds the object from hash
178
+ # @param [Hash] attributes Model attributes in the form of hash
179
+ # @return [Object] Returns the model itself
180
+ def build_from_hash(attributes)
181
+ return nil unless attributes.is_a?(Hash)
182
+ self.class.swagger_types.each_pair do |key, type|
183
+ mapKey = self.class.attribute_map[key]
184
+ if !mapKey.nil?
185
+ val = attributes[mapKey]
186
+ if val.nil?
187
+ mapKeyString = mapKey.to_s
188
+ mapKeyString[0] = mapKeyString[0].downcase
189
+ mapKey = mapKeyString.to_sym
190
+ val = attributes[mapKey]
191
+ end
192
+ if !val.nil?
193
+ if type =~ /\AArray<(.*)>/i
194
+ # check to ensure the input is an array given that the the attribute
195
+ # is documented as an array but the input is not
196
+ if val.is_a?(Array)
197
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
198
+ end
199
+ else
200
+ self.send("#{key}=", _deserialize(type, val))
201
+ end
202
+ end
203
+ end
204
+ end
205
+
206
+ self
207
+ end
208
+
209
+ # Deserializes the data based on type
210
+ # @param string type Data type
211
+ # @param string value Value to be deserialized
212
+ # @return [Object] Deserialized data
213
+ def _deserialize(type, value)
214
+ case type.to_sym
215
+ when :DateTime
216
+ DateTime.parse(value)
217
+ when :Date
218
+ Date.parse(value)
219
+ when :String
220
+ value.to_s
221
+ when :Integer
222
+ value.to_i
223
+ when :Float
224
+ value.to_f
225
+ when :BOOLEAN
226
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
227
+ true
228
+ else
229
+ false
230
+ end
231
+ when :Object
232
+ # generic object (usually a Hash), return directly
233
+ value
234
+ when /\AArray<(?<inner_type>.+)>\z/
235
+ inner_type = Regexp.last_match[:inner_type]
236
+ value.map { |v| _deserialize(inner_type, v) }
237
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
238
+ k_type = Regexp.last_match[:k_type]
239
+ v_type = Regexp.last_match[:v_type]
240
+ {}.tap do |hash|
241
+ value.each do |k, v|
242
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
243
+ end
244
+ end
245
+ else # model
246
+ temp_model = AsposeSlidesCloud.const_get(type).new
247
+ temp_model.build_from_hash(value)
248
+ end
249
+ end
250
+
251
+ # Returns the string representation of the object
252
+ # @return [String] String presentation of the object
253
+ def to_s
254
+ to_hash.to_s
255
+ end
256
+
257
+ # to_body is an alias to to_hash (backward compatibility)
258
+ # @return [Hash] Returns the object in the form of hash
259
+ def to_body
260
+ to_hash
261
+ end
262
+
263
+ # Returns the object in the form of hash
264
+ # @return [Hash] Returns the object in the form of hash
265
+ def to_hash
266
+ hash = {}
267
+ self.class.attribute_map.each_pair do |attr, param|
268
+ value = self.send(attr)
269
+ next if value.nil?
270
+ hash[param] = _to_hash(value)
271
+ end
272
+ hash
273
+ end
274
+
275
+ # Outputs non-array value in the form of hash
276
+ # For object, use to_hash. Otherwise, just return the value
277
+ # @param [Object] value Any valid value
278
+ # @return [Hash] Returns the value in the form of hash
279
+ def _to_hash(value)
280
+ if value.is_a?(Array)
281
+ value.compact.map { |v| _to_hash(v) }
282
+ elsif value.is_a?(Hash)
283
+ {}.tap do |hash|
284
+ value.each { |k, v| hash[k] = _to_hash(v) }
285
+ end
286
+ elsif value.respond_to? :to_hash
287
+ value.to_hash
288
+ else
289
+ value
290
+ end
291
+ end
292
+ end
293
+ end
@@ -48,6 +48,7 @@ module AsposeSlidesCloud
48
48
  GIF = "Gif".freeze
49
49
  BMP = "Bmp".freeze
50
50
  FODP = "Fodp".freeze
51
+ XAML = "Xaml".freeze
51
52
 
52
53
  # Builds the enum from string
53
54
  # @param [String] The enum value in the form of the string