aspose_slides_cloud 20.6.0 → 21.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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/TestData/ChartTest.pptx +0 -0
  4. data/TestData/Sections.pptx +0 -0
  5. data/TestData/test-unprotected.pptx +0 -0
  6. data/TestData/test.pptx +0 -0
  7. data/lib/aspose_slides_cloud.rb +13 -5
  8. data/lib/aspose_slides_cloud/api/slides_api.rb +2432 -691
  9. data/lib/aspose_slides_cloud/api/slides_api_requests.rb +609 -31
  10. data/lib/aspose_slides_cloud/api_client.rb +30 -24
  11. data/lib/aspose_slides_cloud/configuration.rb +7 -2
  12. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +31 -48
  13. data/lib/aspose_slides_cloud/models/add_master_slide.rb +31 -48
  14. data/lib/aspose_slides_cloud/models/add_shape.rb +31 -48
  15. data/lib/aspose_slides_cloud/models/add_slide.rb +31 -48
  16. data/lib/aspose_slides_cloud/models/api_info.rb +22 -10
  17. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +22 -10
  18. data/lib/aspose_slides_cloud/models/audio_frame.rb +32 -246
  19. data/lib/aspose_slides_cloud/models/axes.rb +22 -10
  20. data/lib/aspose_slides_cloud/models/axis.rb +22 -10
  21. data/lib/aspose_slides_cloud/models/base64_input_file.rb +31 -57
  22. data/lib/aspose_slides_cloud/models/blur_effect.rb +22 -10
  23. data/lib/aspose_slides_cloud/models/box_and_whisker_series.rb +31 -222
  24. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +30 -48
  25. data/lib/aspose_slides_cloud/models/bubble_series.rb +31 -211
  26. data/lib/aspose_slides_cloud/models/chart.rb +32 -220
  27. data/lib/aspose_slides_cloud/models/chart_category.rb +54 -20
  28. data/lib/aspose_slides_cloud/models/chart_title.rb +22 -10
  29. data/lib/aspose_slides_cloud/models/chart_wall.rb +22 -10
  30. data/lib/aspose_slides_cloud/models/color_scheme.rb +30 -40
  31. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +22 -10
  32. data/lib/aspose_slides_cloud/models/connector.rb +32 -244
  33. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +22 -10
  34. data/lib/aspose_slides_cloud/models/{resource_uri_element.rb → data_point.rb} +24 -22
  35. data/lib/aspose_slides_cloud/models/disc_usage.rb +22 -10
  36. data/lib/aspose_slides_cloud/models/document.rb +35 -45
  37. data/lib/aspose_slides_cloud/models/document_properties.rb +30 -40
  38. data/lib/aspose_slides_cloud/models/document_property.rb +30 -40
  39. data/lib/aspose_slides_cloud/models/document_replace_result.rb +30 -94
  40. data/lib/aspose_slides_cloud/models/effect.rb +22 -10
  41. data/lib/aspose_slides_cloud/models/effect_format.rb +22 -10
  42. data/lib/aspose_slides_cloud/models/entity_exists.rb +212 -0
  43. data/lib/aspose_slides_cloud/models/error.rb +22 -10
  44. data/lib/aspose_slides_cloud/models/error_details.rb +22 -10
  45. data/lib/aspose_slides_cloud/models/export_options.rb +33 -11
  46. data/lib/aspose_slides_cloud/models/file_version.rb +30 -75
  47. data/lib/aspose_slides_cloud/models/file_versions.rb +22 -10
  48. data/lib/aspose_slides_cloud/models/files_list.rb +22 -10
  49. data/lib/aspose_slides_cloud/models/files_upload_result.rb +22 -10
  50. data/lib/aspose_slides_cloud/models/fill_format.rb +22 -10
  51. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +22 -10
  52. data/lib/aspose_slides_cloud/models/font_scheme.rb +30 -40
  53. data/lib/aspose_slides_cloud/models/font_set.rb +22 -10
  54. data/lib/aspose_slides_cloud/models/format_scheme.rb +30 -40
  55. data/lib/aspose_slides_cloud/models/geometry_shape.rb +33 -212
  56. data/lib/aspose_slides_cloud/models/glow_effect.rb +22 -10
  57. data/lib/aspose_slides_cloud/models/gradient_fill.rb +31 -48
  58. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +22 -10
  59. data/lib/aspose_slides_cloud/models/graphical_object.rb +31 -219
  60. data/lib/aspose_slides_cloud/models/group_shape.rb +31 -219
  61. data/lib/aspose_slides_cloud/models/header_footer.rb +247 -0
  62. data/lib/aspose_slides_cloud/models/html_export_options.rb +33 -32
  63. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +22 -20
  64. data/lib/aspose_slides_cloud/models/image.rb +30 -40
  65. data/lib/aspose_slides_cloud/models/image_export_options.rb +33 -32
  66. data/lib/aspose_slides_cloud/models/images.rb +30 -40
  67. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +22 -10
  68. data/lib/aspose_slides_cloud/models/input.rb +22 -10
  69. data/lib/aspose_slides_cloud/models/input_file.rb +22 -10
  70. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +22 -10
  71. data/lib/aspose_slides_cloud/models/layout_slide.rb +31 -41
  72. data/lib/aspose_slides_cloud/models/layout_slides.rb +30 -40
  73. data/lib/aspose_slides_cloud/models/legend.rb +22 -10
  74. data/lib/aspose_slides_cloud/models/line_format.rb +22 -10
  75. data/lib/aspose_slides_cloud/models/master_slide.rb +31 -41
  76. data/lib/aspose_slides_cloud/models/master_slides.rb +30 -40
  77. data/lib/aspose_slides_cloud/models/merge.rb +31 -48
  78. data/lib/aspose_slides_cloud/models/merging_source.rb +22 -10
  79. data/lib/aspose_slides_cloud/models/no_fill.rb +29 -46
  80. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +22 -10
  81. data/lib/aspose_slides_cloud/models/notes_slide.rb +30 -40
  82. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +267 -0
  83. data/lib/aspose_slides_cloud/models/object_exist.rb +22 -10
  84. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +32 -220
  85. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +30 -20
  86. data/lib/aspose_slides_cloud/models/one_value_series.rb +31 -211
  87. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +22 -10
  88. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +22 -10
  89. data/lib/aspose_slides_cloud/models/output_file.rb +22 -10
  90. data/lib/aspose_slides_cloud/models/paragraph.rb +30 -40
  91. data/lib/aspose_slides_cloud/models/paragraphs.rb +30 -40
  92. data/lib/aspose_slides_cloud/models/path_input_file.rb +31 -57
  93. data/lib/aspose_slides_cloud/models/path_output_file.rb +31 -48
  94. data/lib/aspose_slides_cloud/models/pattern_fill.rb +31 -48
  95. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +33 -32
  96. data/lib/aspose_slides_cloud/models/picture_fill.rb +32 -49
  97. data/lib/aspose_slides_cloud/models/picture_frame.rb +32 -246
  98. data/lib/aspose_slides_cloud/models/pipeline.rb +22 -10
  99. data/lib/aspose_slides_cloud/models/placeholder.rb +30 -40
  100. data/lib/aspose_slides_cloud/models/placeholders.rb +30 -40
  101. data/lib/aspose_slides_cloud/models/plot_area.rb +22 -10
  102. data/lib/aspose_slides_cloud/models/portion.rb +30 -40
  103. data/lib/aspose_slides_cloud/models/portions.rb +36 -46
  104. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +33 -32
  105. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +22 -10
  106. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +22 -10
  107. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +22 -10
  108. data/lib/aspose_slides_cloud/models/reflection_effect.rb +22 -10
  109. data/lib/aspose_slides_cloud/models/remove_shape.rb +31 -48
  110. data/lib/aspose_slides_cloud/models/remove_slide.rb +31 -48
  111. data/lib/aspose_slides_cloud/models/reorder_slide.rb +31 -48
  112. data/lib/aspose_slides_cloud/models/replace_text.rb +31 -48
  113. data/lib/aspose_slides_cloud/models/request_input_file.rb +31 -57
  114. data/lib/aspose_slides_cloud/models/reset_slide.rb +31 -48
  115. data/lib/aspose_slides_cloud/models/resource_base.rb +22 -10
  116. data/lib/aspose_slides_cloud/models/resource_uri.rb +22 -10
  117. data/lib/aspose_slides_cloud/models/response_output_file.rb +29 -46
  118. data/lib/aspose_slides_cloud/models/save.rb +31 -48
  119. data/lib/aspose_slides_cloud/models/save_shape.rb +31 -48
  120. data/lib/aspose_slides_cloud/models/save_slide.rb +31 -48
  121. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +30 -20
  122. data/lib/aspose_slides_cloud/models/scatter_series.rb +31 -211
  123. data/lib/aspose_slides_cloud/models/section.rb +234 -0
  124. data/lib/aspose_slides_cloud/models/sections.rb +209 -0
  125. data/lib/aspose_slides_cloud/models/series.rb +45 -12
  126. data/lib/aspose_slides_cloud/models/series_marker.rb +22 -10
  127. data/lib/aspose_slides_cloud/models/shape.rb +32 -244
  128. data/lib/aspose_slides_cloud/models/shape_base.rb +31 -62
  129. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +22 -10
  130. data/lib/aspose_slides_cloud/models/shapes.rb +30 -40
  131. data/lib/aspose_slides_cloud/models/slide.rb +37 -47
  132. data/lib/aspose_slides_cloud/models/slide_animation.rb +30 -40
  133. data/lib/aspose_slides_cloud/models/slide_background.rb +30 -40
  134. data/lib/aspose_slides_cloud/models/slide_comment.rb +22 -10
  135. data/lib/aspose_slides_cloud/models/slide_comments.rb +30 -40
  136. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +30 -154
  137. data/lib/aspose_slides_cloud/models/slides.rb +30 -40
  138. data/lib/aspose_slides_cloud/models/smart_art.rb +32 -220
  139. data/lib/aspose_slides_cloud/models/smart_art_node.rb +23 -11
  140. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +30 -217
  141. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +22 -10
  142. data/lib/aspose_slides_cloud/models/solid_fill.rb +31 -48
  143. data/lib/aspose_slides_cloud/models/split_document_result.rb +30 -40
  144. data/lib/aspose_slides_cloud/models/storage_exist.rb +22 -10
  145. data/lib/aspose_slides_cloud/models/storage_file.rb +22 -10
  146. data/lib/aspose_slides_cloud/models/svg_export_options.rb +33 -32
  147. data/lib/aspose_slides_cloud/models/swf_export_options.rb +33 -32
  148. data/lib/aspose_slides_cloud/models/table.rb +32 -220
  149. data/lib/aspose_slides_cloud/models/table_cell.rb +22 -10
  150. data/lib/aspose_slides_cloud/models/table_column.rb +22 -10
  151. data/lib/aspose_slides_cloud/models/table_row.rb +22 -10
  152. data/lib/aspose_slides_cloud/models/task.rb +22 -10
  153. data/lib/aspose_slides_cloud/models/text_item.rb +22 -10
  154. data/lib/aspose_slides_cloud/models/text_items.rb +30 -40
  155. data/lib/aspose_slides_cloud/models/theme.rb +32 -42
  156. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +33 -32
  157. data/lib/aspose_slides_cloud/models/update_background.rb +31 -48
  158. data/lib/aspose_slides_cloud/models/update_shape.rb +31 -48
  159. data/lib/aspose_slides_cloud/models/video_frame.rb +32 -246
  160. data/lib/aspose_slides_cloud/models/view_properties.rb +30 -40
  161. data/lib/aspose_slides_cloud/models/waterfall_chart_data_point.rb +206 -0
  162. data/lib/aspose_slides_cloud/models/waterfall_series.rb +31 -222
  163. data/lib/aspose_slides_cloud/models/xps_export_options.rb +33 -32
  164. data/lib/aspose_slides_cloud/type_registry.rb +324 -0
  165. data/lib/aspose_slides_cloud/version.rb +1 -1
  166. data/spec/api/slides_api_spec.rb +22294 -14411
  167. data/spec/extra/extra_spec.rb +156 -22
  168. data/spec/spec_utils.rb +15 -4
  169. data/testConfig.json +2 -2
  170. data/testRules.json +141 -73
  171. metadata +14 -3
@@ -24,61 +24,7 @@ require 'date'
24
24
 
25
25
  module AsposeSlidesCloud
26
26
  # A scatter series
27
- class ScatterSeries
28
- # Series type.
29
- attr_accessor :type
30
-
31
- # Series name.
32
- attr_accessor :name
33
-
34
- # True if each data marker in the series has a different color.
35
- attr_accessor :is_color_varied
36
-
37
- # Invert solid color for the series.
38
- attr_accessor :inverted_solid_fill_color
39
-
40
- # True if curve smoothing is turned on. Applies only to line and scatter connected by lines charts.
41
- attr_accessor :smooth
42
-
43
- # True if the series is plotted on second value axis.
44
- attr_accessor :plot_on_second_axis
45
-
46
- # Series order.
47
- attr_accessor :order
48
-
49
- # The number format for the series y values.
50
- attr_accessor :number_format_of_y_values
51
-
52
- # The number format for the series x values.
53
- attr_accessor :number_format_of_x_values
54
-
55
- # The number format for the series values.
56
- attr_accessor :number_format_of_values
57
-
58
- # The number format for the series bubble sizes.
59
- attr_accessor :number_format_of_bubble_sizes
60
-
61
- # True if the series shall invert its colors if the value is negative. Applies to bar, column and bubble series.
62
- attr_accessor :invert_if_negative
63
-
64
- # The distance of an open pie slice from the center of the pie chart is expressed as a percentage of the pie diameter.
65
- attr_accessor :explosion
66
-
67
- # Series marker.
68
- attr_accessor :marker
69
-
70
- # Fill properties set for the series.
71
- attr_accessor :fill_format
72
-
73
- # Effect properties set for the series.
74
- attr_accessor :effect_format
75
-
76
- # Line properties set for the series.
77
- attr_accessor :line_format
78
-
79
- # Data point type.
80
- attr_accessor :data_point_type
81
-
27
+ class ScatterSeries < Series
82
28
  # Gets or sets the values.
83
29
  attr_accessor :data_points
84
30
 
@@ -106,183 +52,45 @@ module AsposeSlidesCloud
106
52
 
107
53
  # Attribute mapping from ruby-style variable name to JSON key.
108
54
  def self.attribute_map
109
- {
110
- :'type' => :'Type',
111
- :'name' => :'Name',
112
- :'is_color_varied' => :'IsColorVaried',
113
- :'inverted_solid_fill_color' => :'InvertedSolidFillColor',
114
- :'smooth' => :'Smooth',
115
- :'plot_on_second_axis' => :'PlotOnSecondAxis',
116
- :'order' => :'Order',
117
- :'number_format_of_y_values' => :'NumberFormatOfYValues',
118
- :'number_format_of_x_values' => :'NumberFormatOfXValues',
119
- :'number_format_of_values' => :'NumberFormatOfValues',
120
- :'number_format_of_bubble_sizes' => :'NumberFormatOfBubbleSizes',
121
- :'invert_if_negative' => :'InvertIfNegative',
122
- :'explosion' => :'Explosion',
123
- :'marker' => :'Marker',
124
- :'fill_format' => :'FillFormat',
125
- :'effect_format' => :'EffectFormat',
126
- :'line_format' => :'LineFormat',
127
- :'data_point_type' => :'DataPointType',
128
- :'data_points' => :'DataPoints'
129
- }
55
+ super.merge({
56
+ :'data_points' => :'DataPoints',
57
+ })
130
58
  end
131
59
 
132
60
  # Attribute type mapping.
133
61
  def self.swagger_types
134
- {
135
- :'type' => :'String',
136
- :'name' => :'String',
137
- :'is_color_varied' => :'BOOLEAN',
138
- :'inverted_solid_fill_color' => :'String',
139
- :'smooth' => :'BOOLEAN',
140
- :'plot_on_second_axis' => :'BOOLEAN',
141
- :'order' => :'Integer',
142
- :'number_format_of_y_values' => :'String',
143
- :'number_format_of_x_values' => :'String',
144
- :'number_format_of_values' => :'String',
145
- :'number_format_of_bubble_sizes' => :'String',
146
- :'invert_if_negative' => :'BOOLEAN',
147
- :'explosion' => :'Integer',
148
- :'marker' => :'SeriesMarker',
149
- :'fill_format' => :'FillFormat',
150
- :'effect_format' => :'EffectFormat',
151
- :'line_format' => :'LineFormat',
152
- :'data_point_type' => :'String',
153
- :'data_points' => :'Array<ScatterChartDataPoint>'
154
- }
62
+ super.merge({
63
+ :'data_points' => :'Array<ScatterChartDataPoint>',
64
+ })
155
65
  end
156
66
 
157
67
  # Initializes the object
158
68
  # @param [Hash] attributes Model attributes in the form of hash
159
69
  def initialize(attributes = {})
160
- return unless attributes.is_a?(Hash)
161
-
162
- # convert string to symbol for hash key
163
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
164
-
165
- if attributes.has_key?(:'Type')
166
- self.type = attributes[:'Type']
167
- end
168
-
169
- if attributes.has_key?(:'Name')
170
- self.name = attributes[:'Name']
171
- end
172
-
173
- if attributes.has_key?(:'IsColorVaried')
174
- self.is_color_varied = attributes[:'IsColorVaried']
175
- end
176
-
177
- if attributes.has_key?(:'InvertedSolidFillColor')
178
- self.inverted_solid_fill_color = attributes[:'InvertedSolidFillColor']
179
- end
180
-
181
- if attributes.has_key?(:'Smooth')
182
- self.smooth = attributes[:'Smooth']
183
- end
184
-
185
- if attributes.has_key?(:'PlotOnSecondAxis')
186
- self.plot_on_second_axis = attributes[:'PlotOnSecondAxis']
187
- end
188
-
189
- if attributes.has_key?(:'Order')
190
- self.order = attributes[:'Order']
191
- end
192
-
193
- if attributes.has_key?(:'NumberFormatOfYValues')
194
- self.number_format_of_y_values = attributes[:'NumberFormatOfYValues']
195
- end
196
-
197
- if attributes.has_key?(:'NumberFormatOfXValues')
198
- self.number_format_of_x_values = attributes[:'NumberFormatOfXValues']
199
- end
200
-
201
- if attributes.has_key?(:'NumberFormatOfValues')
202
- self.number_format_of_values = attributes[:'NumberFormatOfValues']
203
- end
204
-
205
- if attributes.has_key?(:'NumberFormatOfBubbleSizes')
206
- self.number_format_of_bubble_sizes = attributes[:'NumberFormatOfBubbleSizes']
207
- end
208
-
209
- if attributes.has_key?(:'InvertIfNegative')
210
- self.invert_if_negative = attributes[:'InvertIfNegative']
211
- end
212
-
213
- if attributes.has_key?(:'Explosion')
214
- self.explosion = attributes[:'Explosion']
215
- end
216
-
217
- if attributes.has_key?(:'Marker')
218
- self.marker = attributes[:'Marker']
219
- end
220
-
221
- if attributes.has_key?(:'FillFormat')
222
- self.fill_format = attributes[:'FillFormat']
223
- end
224
-
225
- if attributes.has_key?(:'EffectFormat')
226
- self.effect_format = attributes[:'EffectFormat']
227
- end
228
-
229
- if attributes.has_key?(:'LineFormat')
230
- self.line_format = attributes[:'LineFormat']
231
- end
232
-
233
- if attributes.has_key?(:'DataPointType')
234
- self.data_point_type = attributes[:'DataPointType']
235
- end
70
+ super
236
71
 
237
72
  if attributes.has_key?(:'DataPoints')
238
73
  if (value = attributes[:'DataPoints']).is_a?(Array)
239
74
  self.data_points = value
240
75
  end
241
76
  end
77
+ self.data_point_type = "Scatter"
242
78
  end
243
79
 
244
80
  # Show invalid properties with the reasons. Usually used together with valid?
245
81
  # @return Array for valid properties with the reasons
246
82
  def list_invalid_properties
247
- invalid_properties = Array.new
248
- if @data_point_type.nil?
249
- invalid_properties.push('invalid value for "data_point_type", data_point_type cannot be nil.')
250
- end
251
-
83
+ invalid_properties = super
252
84
  invalid_properties
253
85
  end
254
86
 
255
87
  # Check to see if the all the properties in the model are valid
256
88
  # @return true if the model is valid
257
89
  def valid?
258
- type_validator = EnumAttributeValidator.new('String', ['ClusteredColumn', 'StackedColumn', 'PercentsStackedColumn', 'ClusteredColumn3D', 'StackedColumn3D', 'PercentsStackedColumn3D', 'Column3D', 'ClusteredCylinder', 'StackedCylinder', 'PercentsStackedCylinder', 'Cylinder3D', 'ClusteredCone', 'StackedCone', 'PercentsStackedCone', 'Cone3D', 'ClusteredPyramid', 'StackedPyramid', 'PercentsStackedPyramid', 'Pyramid3D', 'Line', 'StackedLine', 'PercentsStackedLine', 'LineWithMarkers', 'StackedLineWithMarkers', 'PercentsStackedLineWithMarkers', 'Line3D', 'Pie', 'Pie3D', 'PieOfPie', 'ExplodedPie', 'ExplodedPie3D', 'BarOfPie', 'PercentsStackedBar', 'ClusteredBar3D', 'ClusteredBar', 'StackedBar', 'StackedBar3D', 'PercentsStackedBar3D', 'ClusteredHorizontalCylinder', 'StackedHorizontalCylinder', 'PercentsStackedHorizontalCylinder', 'ClusteredHorizontalCone', 'StackedHorizontalCone', 'PercentsStackedHorizontalCone', 'ClusteredHorizontalPyramid', 'StackedHorizontalPyramid', 'PercentsStackedHorizontalPyramid', 'Area', 'StackedArea', 'PercentsStackedArea', 'Area3D', 'StackedArea3D', 'PercentsStackedArea3D', 'ScatterWithMarkers', 'ScatterWithSmoothLinesAndMarkers', 'ScatterWithSmoothLines', 'ScatterWithStraightLinesAndMarkers', 'ScatterWithStraightLines', 'HighLowClose', 'OpenHighLowClose', 'VolumeHighLowClose', 'VolumeOpenHighLowClose', 'Surface3D', 'WireframeSurface3D', 'Contour', 'WireframeContour', 'Doughnut', 'ExplodedDoughnut', 'Bubble', 'BubbleWith3D', 'Radar', 'RadarWithMarkers', 'FilledRadar', 'SeriesOfMixedTypes', 'Treemap', 'Sunburst', 'Histogram', 'ParetoLine', 'BoxAndWhisker', 'Waterfall', 'Funnel'])
259
- return false unless type_validator.valid?(@type)
260
- return false if @data_point_type.nil?
261
- data_point_type_validator = EnumAttributeValidator.new('String', ['OneValue', 'Scatter', 'Bubble'])
262
- return false unless data_point_type_validator.valid?(@data_point_type)
90
+ return false if !super
263
91
  true
264
92
  end
265
93
 
266
- # Custom attribute writer method checking allowed values (enum).
267
- # @param [Object] type Object to be assigned
268
- def type=(type)
269
- validator = EnumAttributeValidator.new('String', ['ClusteredColumn', 'StackedColumn', 'PercentsStackedColumn', 'ClusteredColumn3D', 'StackedColumn3D', 'PercentsStackedColumn3D', 'Column3D', 'ClusteredCylinder', 'StackedCylinder', 'PercentsStackedCylinder', 'Cylinder3D', 'ClusteredCone', 'StackedCone', 'PercentsStackedCone', 'Cone3D', 'ClusteredPyramid', 'StackedPyramid', 'PercentsStackedPyramid', 'Pyramid3D', 'Line', 'StackedLine', 'PercentsStackedLine', 'LineWithMarkers', 'StackedLineWithMarkers', 'PercentsStackedLineWithMarkers', 'Line3D', 'Pie', 'Pie3D', 'PieOfPie', 'ExplodedPie', 'ExplodedPie3D', 'BarOfPie', 'PercentsStackedBar', 'ClusteredBar3D', 'ClusteredBar', 'StackedBar', 'StackedBar3D', 'PercentsStackedBar3D', 'ClusteredHorizontalCylinder', 'StackedHorizontalCylinder', 'PercentsStackedHorizontalCylinder', 'ClusteredHorizontalCone', 'StackedHorizontalCone', 'PercentsStackedHorizontalCone', 'ClusteredHorizontalPyramid', 'StackedHorizontalPyramid', 'PercentsStackedHorizontalPyramid', 'Area', 'StackedArea', 'PercentsStackedArea', 'Area3D', 'StackedArea3D', 'PercentsStackedArea3D', 'ScatterWithMarkers', 'ScatterWithSmoothLinesAndMarkers', 'ScatterWithSmoothLines', 'ScatterWithStraightLinesAndMarkers', 'ScatterWithStraightLines', 'HighLowClose', 'OpenHighLowClose', 'VolumeHighLowClose', 'VolumeOpenHighLowClose', 'Surface3D', 'WireframeSurface3D', 'Contour', 'WireframeContour', 'Doughnut', 'ExplodedDoughnut', 'Bubble', 'BubbleWith3D', 'Radar', 'RadarWithMarkers', 'FilledRadar', 'SeriesOfMixedTypes', 'Treemap', 'Sunburst', 'Histogram', 'ParetoLine', 'BoxAndWhisker', 'Waterfall', 'Funnel'])
270
- unless validator.valid?(type)
271
- fail ArgumentError, 'invalid value for "type", must be one of #{validator.allowable_values}.'
272
- end
273
- @type = type
274
- end
275
-
276
- # Custom attribute writer method checking allowed values (enum).
277
- # @param [Object] data_point_type Object to be assigned
278
- def data_point_type=(data_point_type)
279
- validator = EnumAttributeValidator.new('String', ['OneValue', 'Scatter', 'Bubble'])
280
- unless validator.valid?(data_point_type)
281
- fail ArgumentError, 'invalid value for "data_point_type", must be one of #{validator.allowable_values}.'
282
- end
283
- @data_point_type = data_point_type
284
- end
285
-
286
94
  # Checks equality by comparing each attribute.
287
95
  # @param [Object] Object to be compared
288
96
  def ==(o)
@@ -327,15 +135,27 @@ module AsposeSlidesCloud
327
135
  def build_from_hash(attributes)
328
136
  return nil unless attributes.is_a?(Hash)
329
137
  self.class.swagger_types.each_pair do |key, type|
330
- if type =~ /\AArray<(.*)>/i
331
- # check to ensure the input is an array given that the the attribute
332
- # is documented as an array but the input is not
333
- if attributes[self.class.attribute_map[key]].is_a?(Array)
334
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
138
+ mapKey = self.class.attribute_map[key]
139
+ if !mapKey.nil?
140
+ val = attributes[mapKey]
141
+ if val.nil?
142
+ mapKeyString = mapKey.to_s
143
+ mapKeyString[0] = mapKeyString[0].downcase
144
+ mapKey = mapKeyString.to_sym
145
+ val = attributes[mapKey]
335
146
  end
336
- elsif !attributes[self.class.attribute_map[key]].nil?
337
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
338
- end # or else data not found in attributes(hash), not an issue as the data can be optional
147
+ if !val.nil?
148
+ if type =~ /\AArray<(.*)>/i
149
+ # check to ensure the input is an array given that the the attribute
150
+ # is documented as an array but the input is not
151
+ if val.is_a?(Array)
152
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
153
+ end
154
+ else
155
+ self.send("#{key}=", _deserialize(type, val))
156
+ end
157
+ end
158
+ end
339
159
  end
340
160
 
341
161
  self
@@ -0,0 +1,234 @@
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
+ # Presentation section.
27
+ class Section < ResourceBase
28
+ # Name.
29
+ attr_accessor :name
30
+
31
+ # One-based index of slide with which the section starts.
32
+ attr_accessor :first_slide_index
33
+
34
+ # Links to the shapes contained in the section.
35
+ attr_accessor :slide_list
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ super.merge({
40
+ :'name' => :'Name',
41
+ :'first_slide_index' => :'FirstSlideIndex',
42
+ :'slide_list' => :'SlideList',
43
+ })
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.swagger_types
48
+ super.merge({
49
+ :'name' => :'String',
50
+ :'first_slide_index' => :'Integer',
51
+ :'slide_list' => :'Array<ResourceUri>',
52
+ })
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ super
59
+
60
+ if attributes.has_key?(:'Name')
61
+ self.name = attributes[:'Name']
62
+ end
63
+
64
+ if attributes.has_key?(:'FirstSlideIndex')
65
+ self.first_slide_index = attributes[:'FirstSlideIndex']
66
+ end
67
+
68
+ if attributes.has_key?(:'SlideList')
69
+ if (value = attributes[:'SlideList']).is_a?(Array)
70
+ self.slide_list = value
71
+ end
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ invalid_properties = super
79
+ if @first_slide_index.nil?
80
+ invalid_properties.push('invalid value for "first_slide_index", first_slide_index cannot be nil.')
81
+ end
82
+
83
+ invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ return false if !super
90
+ return false if @first_slide_index.nil?
91
+ true
92
+ end
93
+
94
+ # Checks equality by comparing each attribute.
95
+ # @param [Object] Object to be compared
96
+ def ==(o)
97
+ return true if self.equal?(o)
98
+ self.class == o.class &&
99
+ self_uri == o.self_uri &&
100
+ alternate_links == o.alternate_links &&
101
+ name == o.name &&
102
+ first_slide_index == o.first_slide_index &&
103
+ slide_list == o.slide_list
104
+ end
105
+
106
+ # @see the `==` method
107
+ # @param [Object] Object to be compared
108
+ def eql?(o)
109
+ self == o
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Fixnum] Hash code
114
+ def hash
115
+ [self_uri, alternate_links, name, first_slide_index, slide_list].hash
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def build_from_hash(attributes)
122
+ return nil unless attributes.is_a?(Hash)
123
+ self.class.swagger_types.each_pair do |key, type|
124
+ mapKey = self.class.attribute_map[key]
125
+ if !mapKey.nil?
126
+ val = attributes[mapKey]
127
+ if val.nil?
128
+ mapKeyString = mapKey.to_s
129
+ mapKeyString[0] = mapKeyString[0].downcase
130
+ mapKey = mapKeyString.to_sym
131
+ val = attributes[mapKey]
132
+ end
133
+ if !val.nil?
134
+ if type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the the attribute
136
+ # is documented as an array but the input is not
137
+ if val.is_a?(Array)
138
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
139
+ end
140
+ else
141
+ self.send("#{key}=", _deserialize(type, val))
142
+ end
143
+ end
144
+ end
145
+ end
146
+
147
+ self
148
+ end
149
+
150
+ # Deserializes the data based on type
151
+ # @param string type Data type
152
+ # @param string value Value to be deserialized
153
+ # @return [Object] Deserialized data
154
+ def _deserialize(type, value)
155
+ case type.to_sym
156
+ when :DateTime
157
+ DateTime.parse(value)
158
+ when :Date
159
+ Date.parse(value)
160
+ when :String
161
+ value.to_s
162
+ when :Integer
163
+ value.to_i
164
+ when :Float
165
+ value.to_f
166
+ when :BOOLEAN
167
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
168
+ true
169
+ else
170
+ false
171
+ end
172
+ when :Object
173
+ # generic object (usually a Hash), return directly
174
+ value
175
+ when /\AArray<(?<inner_type>.+)>\z/
176
+ inner_type = Regexp.last_match[:inner_type]
177
+ value.map { |v| _deserialize(inner_type, v) }
178
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
179
+ k_type = Regexp.last_match[:k_type]
180
+ v_type = Regexp.last_match[:v_type]
181
+ {}.tap do |hash|
182
+ value.each do |k, v|
183
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
184
+ end
185
+ end
186
+ else # model
187
+ temp_model = AsposeSlidesCloud.const_get(type).new
188
+ temp_model.build_from_hash(value)
189
+ end
190
+ end
191
+
192
+ # Returns the string representation of the object
193
+ # @return [String] String presentation of the object
194
+ def to_s
195
+ to_hash.to_s
196
+ end
197
+
198
+ # to_body is an alias to to_hash (backward compatibility)
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_body
201
+ to_hash
202
+ end
203
+
204
+ # Returns the object in the form of hash
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_hash
207
+ hash = {}
208
+ self.class.attribute_map.each_pair do |attr, param|
209
+ value = self.send(attr)
210
+ next if value.nil?
211
+ hash[param] = _to_hash(value)
212
+ end
213
+ hash
214
+ end
215
+
216
+ # Outputs non-array value in the form of hash
217
+ # For object, use to_hash. Otherwise, just return the value
218
+ # @param [Object] value Any valid value
219
+ # @return [Hash] Returns the value in the form of hash
220
+ def _to_hash(value)
221
+ if value.is_a?(Array)
222
+ value.compact.map { |v| _to_hash(v) }
223
+ elsif value.is_a?(Hash)
224
+ {}.tap do |hash|
225
+ value.each { |k, v| hash[k] = _to_hash(v) }
226
+ end
227
+ elsif value.respond_to? :to_hash
228
+ value.to_hash
229
+ else
230
+ value
231
+ end
232
+ end
233
+ end
234
+ end