aspose_slides_cloud 20.2.0 → 20.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/TestData/ChartTest.pptx +0 -0
  4. data/lib/aspose_slides_cloud.rb +13 -3
  5. data/lib/aspose_slides_cloud/api/slides_api.rb +3254 -1024
  6. data/lib/aspose_slides_cloud/api/slides_api_requests.rb +970 -137
  7. data/lib/aspose_slides_cloud/api_client.rb +8 -5
  8. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +31 -48
  9. data/lib/aspose_slides_cloud/models/add_master_slide.rb +31 -48
  10. data/lib/aspose_slides_cloud/models/add_shape.rb +31 -48
  11. data/lib/aspose_slides_cloud/models/add_slide.rb +31 -48
  12. data/lib/aspose_slides_cloud/models/api_info.rb +22 -10
  13. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +22 -10
  14. data/lib/aspose_slides_cloud/models/audio_frame.rb +32 -244
  15. data/lib/aspose_slides_cloud/models/axes.rb +22 -10
  16. data/lib/aspose_slides_cloud/models/axis.rb +22 -10
  17. data/lib/aspose_slides_cloud/models/base64_input_file.rb +31 -57
  18. data/lib/aspose_slides_cloud/models/blur_effect.rb +22 -10
  19. data/lib/aspose_slides_cloud/models/box_and_whisker_series.rb +299 -0
  20. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +30 -48
  21. data/lib/aspose_slides_cloud/models/bubble_series.rb +31 -211
  22. data/lib/aspose_slides_cloud/models/chart.rb +35 -221
  23. data/lib/aspose_slides_cloud/models/chart_category.rb +261 -0
  24. data/lib/aspose_slides_cloud/models/chart_title.rb +22 -10
  25. data/lib/aspose_slides_cloud/models/chart_wall.rb +22 -10
  26. data/lib/aspose_slides_cloud/models/color_scheme.rb +30 -40
  27. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +217 -0
  28. data/lib/aspose_slides_cloud/models/connector.rb +31 -242
  29. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +22 -10
  30. data/lib/aspose_slides_cloud/models/disc_usage.rb +22 -10
  31. data/lib/aspose_slides_cloud/models/document.rb +41 -41
  32. data/lib/aspose_slides_cloud/models/document_properties.rb +30 -40
  33. data/lib/aspose_slides_cloud/models/document_property.rb +30 -40
  34. data/lib/aspose_slides_cloud/models/document_replace_result.rb +32 -86
  35. data/lib/aspose_slides_cloud/models/effect.rb +22 -10
  36. data/lib/aspose_slides_cloud/models/effect_format.rb +22 -10
  37. data/lib/aspose_slides_cloud/models/entity_exists.rb +212 -0
  38. data/lib/aspose_slides_cloud/models/error.rb +22 -10
  39. data/lib/aspose_slides_cloud/models/error_details.rb +22 -10
  40. data/lib/aspose_slides_cloud/models/export_format.rb +1 -0
  41. data/lib/aspose_slides_cloud/models/export_options.rb +33 -11
  42. data/lib/aspose_slides_cloud/models/file_version.rb +30 -75
  43. data/lib/aspose_slides_cloud/models/file_versions.rb +22 -10
  44. data/lib/aspose_slides_cloud/models/files_list.rb +22 -10
  45. data/lib/aspose_slides_cloud/models/files_upload_result.rb +22 -10
  46. data/lib/aspose_slides_cloud/models/fill_format.rb +22 -10
  47. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +22 -10
  48. data/lib/aspose_slides_cloud/models/font_scheme.rb +30 -40
  49. data/lib/aspose_slides_cloud/models/font_set.rb +22 -10
  50. data/lib/aspose_slides_cloud/models/format_scheme.rb +30 -40
  51. data/lib/aspose_slides_cloud/models/geometry_shape.rb +30 -208
  52. data/lib/aspose_slides_cloud/models/glow_effect.rb +22 -10
  53. data/lib/aspose_slides_cloud/models/gradient_fill.rb +31 -48
  54. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +22 -10
  55. data/lib/aspose_slides_cloud/models/graphical_object.rb +31 -217
  56. data/lib/aspose_slides_cloud/models/group_shape.rb +31 -217
  57. data/lib/aspose_slides_cloud/models/html_export_options.rb +33 -32
  58. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +22 -10
  59. data/lib/aspose_slides_cloud/models/image.rb +30 -40
  60. data/lib/aspose_slides_cloud/models/image_export_options.rb +33 -32
  61. data/lib/aspose_slides_cloud/models/images.rb +30 -40
  62. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +22 -10
  63. data/lib/aspose_slides_cloud/models/input.rb +22 -10
  64. data/lib/aspose_slides_cloud/models/input_file.rb +22 -10
  65. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +22 -10
  66. data/lib/aspose_slides_cloud/models/layout_slide.rb +30 -40
  67. data/lib/aspose_slides_cloud/models/layout_slides.rb +30 -40
  68. data/lib/aspose_slides_cloud/models/legend.rb +22 -10
  69. data/lib/aspose_slides_cloud/models/line_format.rb +22 -10
  70. data/lib/aspose_slides_cloud/models/master_slide.rb +30 -40
  71. data/lib/aspose_slides_cloud/models/master_slides.rb +30 -40
  72. data/lib/aspose_slides_cloud/models/merge.rb +31 -48
  73. data/lib/aspose_slides_cloud/models/merging_source.rb +22 -10
  74. data/lib/aspose_slides_cloud/models/no_fill.rb +29 -46
  75. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +217 -0
  76. data/lib/aspose_slides_cloud/models/notes_slide.rb +30 -40
  77. data/lib/aspose_slides_cloud/models/object_exist.rb +22 -10
  78. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +32 -218
  79. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +30 -20
  80. data/lib/aspose_slides_cloud/models/one_value_series.rb +31 -211
  81. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +22 -10
  82. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +22 -10
  83. data/lib/aspose_slides_cloud/models/output_file.rb +22 -10
  84. data/lib/aspose_slides_cloud/models/paragraph.rb +30 -40
  85. data/lib/aspose_slides_cloud/models/paragraphs.rb +30 -40
  86. data/lib/aspose_slides_cloud/models/path_input_file.rb +31 -57
  87. data/lib/aspose_slides_cloud/models/path_output_file.rb +31 -48
  88. data/lib/aspose_slides_cloud/models/pattern_fill.rb +31 -48
  89. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +63 -35
  90. data/lib/aspose_slides_cloud/models/picture_fill.rb +31 -48
  91. data/lib/aspose_slides_cloud/models/picture_frame.rb +32 -244
  92. data/lib/aspose_slides_cloud/models/pipeline.rb +22 -10
  93. data/lib/aspose_slides_cloud/models/placeholder.rb +30 -40
  94. data/lib/aspose_slides_cloud/models/placeholders.rb +30 -40
  95. data/lib/aspose_slides_cloud/models/plot_area.rb +22 -10
  96. data/lib/aspose_slides_cloud/models/portion.rb +30 -40
  97. data/lib/aspose_slides_cloud/models/portions.rb +36 -46
  98. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +33 -32
  99. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +22 -10
  100. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +22 -10
  101. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +22 -10
  102. data/lib/aspose_slides_cloud/models/reflection_effect.rb +22 -10
  103. data/lib/aspose_slides_cloud/models/remove_shape.rb +31 -48
  104. data/lib/aspose_slides_cloud/models/remove_slide.rb +31 -48
  105. data/lib/aspose_slides_cloud/models/reorder_slide.rb +31 -48
  106. data/lib/aspose_slides_cloud/models/replace_text.rb +31 -48
  107. data/lib/aspose_slides_cloud/models/request_input_file.rb +31 -57
  108. data/lib/aspose_slides_cloud/models/reset_slide.rb +31 -48
  109. data/lib/aspose_slides_cloud/models/resource_base.rb +22 -10
  110. data/lib/aspose_slides_cloud/models/resource_uri.rb +22 -10
  111. data/lib/aspose_slides_cloud/models/resource_uri_element.rb +22 -10
  112. data/lib/aspose_slides_cloud/models/response_output_file.rb +29 -46
  113. data/lib/aspose_slides_cloud/models/save.rb +33 -50
  114. data/lib/aspose_slides_cloud/models/save_shape.rb +31 -48
  115. data/lib/aspose_slides_cloud/models/save_slide.rb +33 -50
  116. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +30 -20
  117. data/lib/aspose_slides_cloud/models/scatter_series.rb +31 -211
  118. data/lib/aspose_slides_cloud/models/series.rb +47 -14
  119. data/lib/aspose_slides_cloud/models/series_marker.rb +22 -10
  120. data/lib/aspose_slides_cloud/models/shape.rb +31 -242
  121. data/lib/aspose_slides_cloud/models/shape_base.rb +30 -40
  122. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +22 -10
  123. data/lib/aspose_slides_cloud/models/shapes.rb +30 -40
  124. data/lib/aspose_slides_cloud/models/slide.rb +30 -40
  125. data/lib/aspose_slides_cloud/models/slide_animation.rb +30 -40
  126. data/lib/aspose_slides_cloud/models/slide_background.rb +30 -40
  127. data/lib/aspose_slides_cloud/models/slide_comment.rb +22 -10
  128. data/lib/aspose_slides_cloud/models/slide_comments.rb +30 -40
  129. data/lib/aspose_slides_cloud/models/slide_export_format.rb +1 -0
  130. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +30 -154
  131. data/lib/aspose_slides_cloud/models/slides.rb +30 -40
  132. data/lib/aspose_slides_cloud/models/smart_art.rb +32 -218
  133. data/lib/aspose_slides_cloud/models/smart_art_node.rb +22 -10
  134. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +31 -217
  135. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +22 -10
  136. data/lib/aspose_slides_cloud/models/solid_fill.rb +31 -48
  137. data/lib/aspose_slides_cloud/models/split_document_result.rb +30 -40
  138. data/lib/aspose_slides_cloud/models/storage_exist.rb +22 -10
  139. data/lib/aspose_slides_cloud/models/storage_file.rb +22 -10
  140. data/lib/aspose_slides_cloud/models/svg_export_options.rb +33 -32
  141. data/lib/aspose_slides_cloud/models/swf_export_options.rb +33 -32
  142. data/lib/aspose_slides_cloud/models/table.rb +32 -218
  143. data/lib/aspose_slides_cloud/models/table_cell.rb +22 -10
  144. data/lib/aspose_slides_cloud/models/table_column.rb +22 -10
  145. data/lib/aspose_slides_cloud/models/table_row.rb +22 -10
  146. data/lib/aspose_slides_cloud/models/task.rb +22 -10
  147. data/lib/aspose_slides_cloud/models/text_item.rb +22 -10
  148. data/lib/aspose_slides_cloud/models/text_items.rb +30 -40
  149. data/lib/aspose_slides_cloud/models/theme.rb +30 -40
  150. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +33 -32
  151. data/lib/aspose_slides_cloud/models/update_background.rb +31 -48
  152. data/lib/aspose_slides_cloud/models/update_shape.rb +31 -48
  153. data/lib/aspose_slides_cloud/models/video_frame.rb +32 -244
  154. data/lib/aspose_slides_cloud/models/view_properties.rb +357 -0
  155. data/lib/aspose_slides_cloud/models/waterfall_series.rb +247 -0
  156. data/lib/aspose_slides_cloud/models/xps_export_options.rb +33 -32
  157. data/lib/aspose_slides_cloud/type_registry.rb +313 -0
  158. data/lib/aspose_slides_cloud/version.rb +1 -1
  159. data/spec/api/slides_api_spec.rb +20595 -14073
  160. data/spec/extra/extra_spec.rb +155 -20
  161. data/spec/spec_utils.rb +8 -1
  162. data/testRules.json +111 -8
  163. metadata +11 -2
@@ -24,49 +24,28 @@ require 'date'
24
24
 
25
25
  module AsposeSlidesCloud
26
26
  # Bubble chart data point.
27
- class BubbleChartDataPoint
28
- # X-value
29
- attr_accessor :x_value
30
-
31
- # Y-value
32
- attr_accessor :y_value
33
-
27
+ class BubbleChartDataPoint < ScatterChartDataPoint
34
28
  # Bubble size.
35
29
  attr_accessor :bubble_size
36
30
 
37
31
  # Attribute mapping from ruby-style variable name to JSON key.
38
32
  def self.attribute_map
39
- {
40
- :'x_value' => :'XValue',
41
- :'y_value' => :'YValue',
42
- :'bubble_size' => :'BubbleSize'
43
- }
33
+ super.merge({
34
+ :'bubble_size' => :'BubbleSize',
35
+ })
44
36
  end
45
37
 
46
38
  # Attribute type mapping.
47
39
  def self.swagger_types
48
- {
49
- :'x_value' => :'Float',
50
- :'y_value' => :'Float',
51
- :'bubble_size' => :'Float'
52
- }
40
+ super.merge({
41
+ :'bubble_size' => :'Float',
42
+ })
53
43
  end
54
44
 
55
45
  # Initializes the object
56
46
  # @param [Hash] attributes Model attributes in the form of hash
57
47
  def initialize(attributes = {})
58
- return unless attributes.is_a?(Hash)
59
-
60
- # convert string to symbol for hash key
61
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
62
-
63
- if attributes.has_key?(:'XValue')
64
- self.x_value = attributes[:'XValue']
65
- end
66
-
67
- if attributes.has_key?(:'YValue')
68
- self.y_value = attributes[:'YValue']
69
- end
48
+ super
70
49
 
71
50
  if attributes.has_key?(:'BubbleSize')
72
51
  self.bubble_size = attributes[:'BubbleSize']
@@ -76,15 +55,7 @@ module AsposeSlidesCloud
76
55
  # Show invalid properties with the reasons. Usually used together with valid?
77
56
  # @return Array for valid properties with the reasons
78
57
  def list_invalid_properties
79
- invalid_properties = Array.new
80
- if @x_value.nil?
81
- invalid_properties.push('invalid value for "x_value", x_value cannot be nil.')
82
- end
83
-
84
- if @y_value.nil?
85
- invalid_properties.push('invalid value for "y_value", y_value cannot be nil.')
86
- end
87
-
58
+ invalid_properties = super
88
59
  if @bubble_size.nil?
89
60
  invalid_properties.push('invalid value for "bubble_size", bubble_size cannot be nil.')
90
61
  end
@@ -95,8 +66,7 @@ module AsposeSlidesCloud
95
66
  # Check to see if the all the properties in the model are valid
96
67
  # @return true if the model is valid
97
68
  def valid?
98
- return false if @x_value.nil?
99
- return false if @y_value.nil?
69
+ return false if !super
100
70
  return false if @bubble_size.nil?
101
71
  true
102
72
  end
@@ -129,15 +99,27 @@ module AsposeSlidesCloud
129
99
  def build_from_hash(attributes)
130
100
  return nil unless attributes.is_a?(Hash)
131
101
  self.class.swagger_types.each_pair do |key, type|
132
- if type =~ /\AArray<(.*)>/i
133
- # check to ensure the input is an array given that the the attribute
134
- # is documented as an array but the input is not
135
- if attributes[self.class.attribute_map[key]].is_a?(Array)
136
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
102
+ mapKey = self.class.attribute_map[key]
103
+ if !mapKey.nil?
104
+ val = attributes[mapKey]
105
+ if val.nil?
106
+ mapKeyString = mapKey.to_s
107
+ mapKeyString[0] = mapKeyString[0].downcase
108
+ mapKey = mapKeyString.to_sym
109
+ val = attributes[mapKey]
110
+ end
111
+ if !val.nil?
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 val.is_a?(Array)
116
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
117
+ end
118
+ else
119
+ self.send("#{key}=", _deserialize(type, val))
120
+ end
137
121
  end
138
- elsif !attributes[self.class.attribute_map[key]].nil?
139
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
140
- end # or else data not found in attributes(hash), not an issue as the data can be optional
122
+ end
141
123
  end
142
124
 
143
125
  self
@@ -24,61 +24,7 @@ require 'date'
24
24
 
25
25
  module AsposeSlidesCloud
26
26
  # A bubble series.
27
- class BubbleSeries
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 BubbleSeries < 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<BubbleChartDataPoint>'
154
- }
62
+ super.merge({
63
+ :'data_points' => :'Array<BubbleChartDataPoint>',
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 = "Bubble"
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'])
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'])
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
@@ -24,58 +24,7 @@ require 'date'
24
24
 
25
25
  module AsposeSlidesCloud
26
26
  # Represents chart resource
27
- class Chart
28
- # Gets or sets the link to this resource.
29
- attr_accessor :self_uri
30
-
31
- # List of alternate links.
32
- attr_accessor :alternate_links
33
-
34
- # Gets or sets the name.
35
- attr_accessor :name
36
-
37
- # Gets or sets the width.
38
- attr_accessor :width
39
-
40
- # Gets or sets the height.
41
- attr_accessor :height
42
-
43
- # Gets or sets the alternative text.
44
- attr_accessor :alternative_text
45
-
46
- # The title of alternative text associated with the shape.
47
- attr_accessor :alternative_text_title
48
-
49
- # Gets or sets a value indicating whether this ShapeBase is hidden.
50
- attr_accessor :hidden
51
-
52
- # Gets or sets the X
53
- attr_accessor :x
54
-
55
- # Gets or sets the Y.
56
- attr_accessor :y
57
-
58
- # Gets z-order position of shape
59
- attr_accessor :z_order_position
60
-
61
- # Gets or sets the link to shapes.
62
- attr_accessor :shapes
63
-
64
- # Gets or sets the fill format.
65
- attr_accessor :fill_format
66
-
67
- # Gets or sets the effect format.
68
- attr_accessor :effect_format
69
-
70
- # Gets or sets the line format.
71
- attr_accessor :line_format
72
-
73
- # Shape type.
74
- attr_accessor :type
75
-
76
- # Combined shape type.
77
- attr_accessor :shape_type
78
-
27
+ class Chart < ShapeBase
79
28
  # Gets or sets the type of the chart.
80
29
  attr_accessor :chart_type
81
30
 
@@ -133,24 +82,7 @@ module AsposeSlidesCloud
133
82
 
134
83
  # Attribute mapping from ruby-style variable name to JSON key.
135
84
  def self.attribute_map
136
- {
137
- :'self_uri' => :'SelfUri',
138
- :'alternate_links' => :'AlternateLinks',
139
- :'name' => :'Name',
140
- :'width' => :'Width',
141
- :'height' => :'Height',
142
- :'alternative_text' => :'AlternativeText',
143
- :'alternative_text_title' => :'AlternativeTextTitle',
144
- :'hidden' => :'Hidden',
145
- :'x' => :'X',
146
- :'y' => :'Y',
147
- :'z_order_position' => :'ZOrderPosition',
148
- :'shapes' => :'Shapes',
149
- :'fill_format' => :'FillFormat',
150
- :'effect_format' => :'EffectFormat',
151
- :'line_format' => :'LineFormat',
152
- :'type' => :'Type',
153
- :'shape_type' => :'ShapeType',
85
+ super.merge({
154
86
  :'chart_type' => :'ChartType',
155
87
  :'show_data_labels_over_maximum' => :'ShowDataLabelsOverMaximum',
156
88
  :'series' => :'Series',
@@ -161,125 +93,31 @@ module AsposeSlidesCloud
161
93
  :'floor' => :'Floor',
162
94
  :'legend' => :'Legend',
163
95
  :'axes' => :'Axes',
164
- :'plot_area' => :'PlotArea'
165
- }
96
+ :'plot_area' => :'PlotArea',
97
+ })
166
98
  end
167
99
 
168
100
  # Attribute type mapping.
169
101
  def self.swagger_types
170
- {
171
- :'self_uri' => :'ResourceUri',
172
- :'alternate_links' => :'Array<ResourceUri>',
173
- :'name' => :'String',
174
- :'width' => :'Float',
175
- :'height' => :'Float',
176
- :'alternative_text' => :'String',
177
- :'alternative_text_title' => :'String',
178
- :'hidden' => :'BOOLEAN',
179
- :'x' => :'Float',
180
- :'y' => :'Float',
181
- :'z_order_position' => :'Integer',
182
- :'shapes' => :'ResourceUriElement',
183
- :'fill_format' => :'FillFormat',
184
- :'effect_format' => :'EffectFormat',
185
- :'line_format' => :'LineFormat',
186
- :'type' => :'String',
187
- :'shape_type' => :'String',
102
+ super.merge({
188
103
  :'chart_type' => :'String',
189
104
  :'show_data_labels_over_maximum' => :'BOOLEAN',
190
105
  :'series' => :'Array<Series>',
191
- :'categories' => :'Array<String>',
106
+ :'categories' => :'Array<ChartCategory>',
192
107
  :'title' => :'ChartTitle',
193
108
  :'back_wall' => :'ChartWall',
194
109
  :'side_wall' => :'ChartWall',
195
110
  :'floor' => :'ChartWall',
196
111
  :'legend' => :'Legend',
197
112
  :'axes' => :'Axes',
198
- :'plot_area' => :'PlotArea'
199
- }
113
+ :'plot_area' => :'PlotArea',
114
+ })
200
115
  end
201
116
 
202
117
  # Initializes the object
203
118
  # @param [Hash] attributes Model attributes in the form of hash
204
119
  def initialize(attributes = {})
205
- return unless attributes.is_a?(Hash)
206
-
207
- # convert string to symbol for hash key
208
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
209
-
210
- if attributes.has_key?(:'SelfUri')
211
- self.self_uri = attributes[:'SelfUri']
212
- end
213
-
214
- if attributes.has_key?(:'AlternateLinks')
215
- if (value = attributes[:'AlternateLinks']).is_a?(Array)
216
- self.alternate_links = value
217
- end
218
- end
219
-
220
- if attributes.has_key?(:'Name')
221
- self.name = attributes[:'Name']
222
- end
223
-
224
- if attributes.has_key?(:'Width')
225
- self.width = attributes[:'Width']
226
- end
227
-
228
- if attributes.has_key?(:'Height')
229
- self.height = attributes[:'Height']
230
- end
231
-
232
- if attributes.has_key?(:'AlternativeText')
233
- self.alternative_text = attributes[:'AlternativeText']
234
- end
235
-
236
- if attributes.has_key?(:'AlternativeTextTitle')
237
- self.alternative_text_title = attributes[:'AlternativeTextTitle']
238
- end
239
-
240
- if attributes.has_key?(:'Hidden')
241
- self.hidden = attributes[:'Hidden']
242
- end
243
-
244
- if attributes.has_key?(:'X')
245
- self.x = attributes[:'X']
246
- end
247
-
248
- if attributes.has_key?(:'Y')
249
- self.y = attributes[:'Y']
250
- end
251
-
252
- if attributes.has_key?(:'ZOrderPosition')
253
- self.z_order_position = attributes[:'ZOrderPosition']
254
- end
255
-
256
- if attributes.has_key?(:'Shapes')
257
- self.shapes = attributes[:'Shapes']
258
- end
259
-
260
- if attributes.has_key?(:'FillFormat')
261
- self.fill_format = attributes[:'FillFormat']
262
- end
263
-
264
- if attributes.has_key?(:'EffectFormat')
265
- self.effect_format = attributes[:'EffectFormat']
266
- end
267
-
268
- if attributes.has_key?(:'LineFormat')
269
- self.line_format = attributes[:'LineFormat']
270
- end
271
-
272
- if attributes.has_key?(:'Type')
273
- self.type = attributes[:'Type']
274
- else
275
- self.type = "Chart"
276
- end
277
-
278
- if attributes.has_key?(:'ShapeType')
279
- self.shape_type = attributes[:'ShapeType']
280
- else
281
- self.shape_type = "Chart"
282
- end
120
+ super
283
121
 
284
122
  if attributes.has_key?(:'ChartType')
285
123
  self.chart_type = attributes[:'ChartType']
@@ -328,24 +166,14 @@ module AsposeSlidesCloud
328
166
  if attributes.has_key?(:'PlotArea')
329
167
  self.plot_area = attributes[:'PlotArea']
330
168
  end
169
+ self.type = "Chart"
170
+ self.shape_type = "Chart"
331
171
  end
332
172
 
333
173
  # Show invalid properties with the reasons. Usually used together with valid?
334
174
  # @return Array for valid properties with the reasons
335
175
  def list_invalid_properties
336
- invalid_properties = Array.new
337
- if @z_order_position.nil?
338
- invalid_properties.push('invalid value for "z_order_position", z_order_position cannot be nil.')
339
- end
340
-
341
- if @type.nil?
342
- invalid_properties.push('invalid value for "type", type cannot be nil.')
343
- end
344
-
345
- if @shape_type.nil?
346
- invalid_properties.push('invalid value for "shape_type", shape_type cannot be nil.')
347
- end
348
-
176
+ invalid_properties = super
349
177
  if @chart_type.nil?
350
178
  invalid_properties.push('invalid value for "chart_type", chart_type cannot be nil.')
351
179
  end
@@ -356,43 +184,17 @@ module AsposeSlidesCloud
356
184
  # Check to see if the all the properties in the model are valid
357
185
  # @return true if the model is valid
358
186
  def valid?
359
- return false if @z_order_position.nil?
360
- return false if @type.nil?
361
- type_validator = EnumAttributeValidator.new('String', ['Shape', 'Chart', 'Table', 'PictureFrame', 'VideoFrame', 'AudioFrame', 'SmartArt', 'OleObjectFrame', 'GroupShape', 'GraphicalObject', 'Connector', 'SmartArtShape'])
362
- return false unless type_validator.valid?(@type)
363
- return false if @shape_type.nil?
364
- shape_type_validator = EnumAttributeValidator.new('String', ['Custom', 'Line', 'LineInverse', 'Triangle', 'RightTriangle', 'Rectangle', 'Diamond', 'Parallelogram', 'Trapezoid', 'NonIsoscelesTrapezoid', 'Pentagon', 'Hexagon', 'Heptagon', 'Octagon', 'Decagon', 'Dodecagon', 'FourPointedStar', 'FivePointedStar', 'SixPointedStar', 'SevenPointedStar', 'EightPointedStar', 'TenPointedStar', 'TwelvePointedStar', 'SixteenPointedStar', 'TwentyFourPointedStar', 'ThirtyTwoPointedStar', 'RoundCornerRectangle', 'OneRoundCornerRectangle', 'TwoSamesideRoundCornerRectangle', 'TwoDiagonalRoundCornerRectangle', 'OneSnipOneRoundCornerRectangle', 'OneSnipCornerRectangle', 'TwoSamesideSnipCornerRectangle', 'TwoDiagonalSnipCornerRectangle', 'Plaque', 'Ellipse', 'Teardrop', 'HomePlate', 'Chevron', 'PieWedge', 'Pie', 'BlockArc', 'Donut', 'NoSmoking', 'RightArrow', 'LeftArrow', 'UpArrow', 'DownArrow', 'StripedRightArrow', 'NotchedRightArrow', 'BentUpArrow', 'LeftRightArrow', 'UpDownArrow', 'LeftUpArrow', 'LeftRightUpArrow', 'QuadArrow', 'CalloutLeftArrow', 'CalloutRightArrow', 'CalloutUpArrow', 'CalloutDownArrow', 'CalloutLeftRightArrow', 'CalloutUpDownArrow', 'CalloutQuadArrow', 'BentArrow', 'UTurnArrow', 'CircularArrow', 'LeftCircularArrow', 'LeftRightCircularArrow', 'CurvedRightArrow', 'CurvedLeftArrow', 'CurvedUpArrow', 'CurvedDownArrow', 'SwooshArrow', 'Cube', 'Can', 'LightningBolt', 'Heart', 'Sun', 'Moon', 'SmileyFace', 'IrregularSeal1', 'IrregularSeal2', 'FoldedCorner', 'Bevel', 'Frame', 'HalfFrame', 'Corner', 'DiagonalStripe', 'Chord', 'CurvedArc', 'LeftBracket', 'RightBracket', 'LeftBrace', 'RightBrace', 'BracketPair', 'BracePair', 'StraightConnector1', 'BentConnector2', 'BentConnector3', 'BentConnector4', 'BentConnector5', 'CurvedConnector2', 'CurvedConnector3', 'CurvedConnector4', 'CurvedConnector5', 'Callout1', 'Callout2', 'Callout3', 'Callout1WithAccent', 'Callout2WithAccent', 'Callout3WithAccent', 'Callout1WithBorder', 'Callout2WithBorder', 'Callout3WithBorder', 'Callout1WithBorderAndAccent', 'Callout2WithBorderAndAccent', 'Callout3WithBorderAndAccent', 'CalloutWedgeRectangle', 'CalloutWedgeRoundRectangle', 'CalloutWedgeEllipse', 'CalloutCloud', 'Cloud', 'Ribbon', 'Ribbon2', 'EllipseRibbon', 'EllipseRibbon2', 'LeftRightRibbon', 'VerticalScroll', 'HorizontalScroll', 'Wave', 'DoubleWave', 'Plus', 'ProcessFlow', 'DecisionFlow', 'InputOutputFlow', 'PredefinedProcessFlow', 'InternalStorageFlow', 'DocumentFlow', 'MultiDocumentFlow', 'TerminatorFlow', 'PreparationFlow', 'ManualInputFlow', 'ManualOperationFlow', 'ConnectorFlow', 'PunchedCardFlow', 'PunchedTapeFlow', 'SummingJunctionFlow', 'OrFlow', 'CollateFlow', 'SortFlow', 'ExtractFlow', 'MergeFlow', 'OfflineStorageFlow', 'OnlineStorageFlow', 'MagneticTapeFlow', 'MagneticDiskFlow', 'MagneticDrumFlow', 'DisplayFlow', 'DelayFlow', 'AlternateProcessFlow', 'OffPageConnectorFlow', 'BlankButton', 'HomeButton', 'HelpButton', 'InformationButton', 'ForwardOrNextButton', 'BackOrPreviousButton', 'EndButton', 'BeginningButton', 'ReturnButton', 'DocumentButton', 'SoundButton', 'MovieButton', 'Gear6', 'Gear9', 'Funnel', 'PlusMath', 'MinusMath', 'MultiplyMath', 'DivideMath', 'EqualMath', 'NotEqualMath', 'CornerTabs', 'SquareTabs', 'PlaqueTabs', 'ChartX', 'ChartStar', 'ChartPlus', 'Chart', 'Table', 'PictureFrame', 'VideoFrame', 'AudioFrame', 'Diagram', 'OleObjectFrame', 'GroupShape', 'GraphicalObject', 'NotDefined'])
365
- return false unless shape_type_validator.valid?(@shape_type)
187
+ return false if !super
366
188
  return false if @chart_type.nil?
367
- chart_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'])
189
+ chart_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'])
368
190
  return false unless chart_type_validator.valid?(@chart_type)
369
191
  true
370
192
  end
371
193
 
372
- # Custom attribute writer method checking allowed values (enum).
373
- # @param [Object] type Object to be assigned
374
- def type=(type)
375
- validator = EnumAttributeValidator.new('String', ['Shape', 'Chart', 'Table', 'PictureFrame', 'VideoFrame', 'AudioFrame', 'SmartArt', 'OleObjectFrame', 'GroupShape', 'GraphicalObject', 'Connector', 'SmartArtShape'])
376
- unless validator.valid?(type)
377
- fail ArgumentError, 'invalid value for "type", must be one of #{validator.allowable_values}.'
378
- end
379
- @type = type
380
- end
381
-
382
- # Custom attribute writer method checking allowed values (enum).
383
- # @param [Object] shape_type Object to be assigned
384
- def shape_type=(shape_type)
385
- validator = EnumAttributeValidator.new('String', ['Custom', 'Line', 'LineInverse', 'Triangle', 'RightTriangle', 'Rectangle', 'Diamond', 'Parallelogram', 'Trapezoid', 'NonIsoscelesTrapezoid', 'Pentagon', 'Hexagon', 'Heptagon', 'Octagon', 'Decagon', 'Dodecagon', 'FourPointedStar', 'FivePointedStar', 'SixPointedStar', 'SevenPointedStar', 'EightPointedStar', 'TenPointedStar', 'TwelvePointedStar', 'SixteenPointedStar', 'TwentyFourPointedStar', 'ThirtyTwoPointedStar', 'RoundCornerRectangle', 'OneRoundCornerRectangle', 'TwoSamesideRoundCornerRectangle', 'TwoDiagonalRoundCornerRectangle', 'OneSnipOneRoundCornerRectangle', 'OneSnipCornerRectangle', 'TwoSamesideSnipCornerRectangle', 'TwoDiagonalSnipCornerRectangle', 'Plaque', 'Ellipse', 'Teardrop', 'HomePlate', 'Chevron', 'PieWedge', 'Pie', 'BlockArc', 'Donut', 'NoSmoking', 'RightArrow', 'LeftArrow', 'UpArrow', 'DownArrow', 'StripedRightArrow', 'NotchedRightArrow', 'BentUpArrow', 'LeftRightArrow', 'UpDownArrow', 'LeftUpArrow', 'LeftRightUpArrow', 'QuadArrow', 'CalloutLeftArrow', 'CalloutRightArrow', 'CalloutUpArrow', 'CalloutDownArrow', 'CalloutLeftRightArrow', 'CalloutUpDownArrow', 'CalloutQuadArrow', 'BentArrow', 'UTurnArrow', 'CircularArrow', 'LeftCircularArrow', 'LeftRightCircularArrow', 'CurvedRightArrow', 'CurvedLeftArrow', 'CurvedUpArrow', 'CurvedDownArrow', 'SwooshArrow', 'Cube', 'Can', 'LightningBolt', 'Heart', 'Sun', 'Moon', 'SmileyFace', 'IrregularSeal1', 'IrregularSeal2', 'FoldedCorner', 'Bevel', 'Frame', 'HalfFrame', 'Corner', 'DiagonalStripe', 'Chord', 'CurvedArc', 'LeftBracket', 'RightBracket', 'LeftBrace', 'RightBrace', 'BracketPair', 'BracePair', 'StraightConnector1', 'BentConnector2', 'BentConnector3', 'BentConnector4', 'BentConnector5', 'CurvedConnector2', 'CurvedConnector3', 'CurvedConnector4', 'CurvedConnector5', 'Callout1', 'Callout2', 'Callout3', 'Callout1WithAccent', 'Callout2WithAccent', 'Callout3WithAccent', 'Callout1WithBorder', 'Callout2WithBorder', 'Callout3WithBorder', 'Callout1WithBorderAndAccent', 'Callout2WithBorderAndAccent', 'Callout3WithBorderAndAccent', 'CalloutWedgeRectangle', 'CalloutWedgeRoundRectangle', 'CalloutWedgeEllipse', 'CalloutCloud', 'Cloud', 'Ribbon', 'Ribbon2', 'EllipseRibbon', 'EllipseRibbon2', 'LeftRightRibbon', 'VerticalScroll', 'HorizontalScroll', 'Wave', 'DoubleWave', 'Plus', 'ProcessFlow', 'DecisionFlow', 'InputOutputFlow', 'PredefinedProcessFlow', 'InternalStorageFlow', 'DocumentFlow', 'MultiDocumentFlow', 'TerminatorFlow', 'PreparationFlow', 'ManualInputFlow', 'ManualOperationFlow', 'ConnectorFlow', 'PunchedCardFlow', 'PunchedTapeFlow', 'SummingJunctionFlow', 'OrFlow', 'CollateFlow', 'SortFlow', 'ExtractFlow', 'MergeFlow', 'OfflineStorageFlow', 'OnlineStorageFlow', 'MagneticTapeFlow', 'MagneticDiskFlow', 'MagneticDrumFlow', 'DisplayFlow', 'DelayFlow', 'AlternateProcessFlow', 'OffPageConnectorFlow', 'BlankButton', 'HomeButton', 'HelpButton', 'InformationButton', 'ForwardOrNextButton', 'BackOrPreviousButton', 'EndButton', 'BeginningButton', 'ReturnButton', 'DocumentButton', 'SoundButton', 'MovieButton', 'Gear6', 'Gear9', 'Funnel', 'PlusMath', 'MinusMath', 'MultiplyMath', 'DivideMath', 'EqualMath', 'NotEqualMath', 'CornerTabs', 'SquareTabs', 'PlaqueTabs', 'ChartX', 'ChartStar', 'ChartPlus', 'Chart', 'Table', 'PictureFrame', 'VideoFrame', 'AudioFrame', 'Diagram', 'OleObjectFrame', 'GroupShape', 'GraphicalObject', 'NotDefined'])
386
- unless validator.valid?(shape_type)
387
- fail ArgumentError, 'invalid value for "shape_type", must be one of #{validator.allowable_values}.'
388
- end
389
- @shape_type = shape_type
390
- end
391
-
392
194
  # Custom attribute writer method checking allowed values (enum).
393
195
  # @param [Object] chart_type Object to be assigned
394
196
  def chart_type=(chart_type)
395
- 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'])
197
+ 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'])
396
198
  unless validator.valid?(chart_type)
397
199
  fail ArgumentError, 'invalid value for "chart_type", must be one of #{validator.allowable_values}.'
398
200
  end
@@ -452,15 +254,27 @@ module AsposeSlidesCloud
452
254
  def build_from_hash(attributes)
453
255
  return nil unless attributes.is_a?(Hash)
454
256
  self.class.swagger_types.each_pair do |key, type|
455
- if type =~ /\AArray<(.*)>/i
456
- # check to ensure the input is an array given that the the attribute
457
- # is documented as an array but the input is not
458
- if attributes[self.class.attribute_map[key]].is_a?(Array)
459
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
257
+ mapKey = self.class.attribute_map[key]
258
+ if !mapKey.nil?
259
+ val = attributes[mapKey]
260
+ if val.nil?
261
+ mapKeyString = mapKey.to_s
262
+ mapKeyString[0] = mapKeyString[0].downcase
263
+ mapKey = mapKeyString.to_sym
264
+ val = attributes[mapKey]
460
265
  end
461
- elsif !attributes[self.class.attribute_map[key]].nil?
462
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
463
- end # or else data not found in attributes(hash), not an issue as the data can be optional
266
+ if !val.nil?
267
+ if type =~ /\AArray<(.*)>/i
268
+ # check to ensure the input is an array given that the the attribute
269
+ # is documented as an array but the input is not
270
+ if val.is_a?(Array)
271
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
272
+ end
273
+ else
274
+ self.send("#{key}=", _deserialize(type, val))
275
+ end
276
+ end
277
+ end
464
278
  end
465
279
 
466
280
  self