aspose_slides_cloud 20.8.0 → 21.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/TestData/Sections.pptx +0 -0
  4. data/TestData/test-unprotected.pptx +0 -0
  5. data/TestData/test.pdf +0 -0
  6. data/TestData/test.pptx +0 -0
  7. data/lib/aspose_slides_cloud.rb +8 -2
  8. data/lib/aspose_slides_cloud/api/slides_api.rb +10162 -3258
  9. data/lib/aspose_slides_cloud/api/slides_api_requests.rb +949 -225
  10. data/lib/aspose_slides_cloud/api_client.rb +24 -22
  11. data/lib/aspose_slides_cloud/configuration.rb +7 -2
  12. data/lib/aspose_slides_cloud/models/audio_frame.rb +1 -3
  13. data/lib/aspose_slides_cloud/models/chart.rb +3 -5
  14. data/lib/aspose_slides_cloud/models/chart_category.rb +19 -9
  15. data/lib/aspose_slides_cloud/models/connector.rb +1 -2
  16. data/lib/aspose_slides_cloud/models/{resource_uri_element.rb → data_point.rb} +4 -14
  17. data/lib/aspose_slides_cloud/models/document.rb +6 -6
  18. data/lib/aspose_slides_cloud/models/geometry_shape.rb +18 -19
  19. data/lib/aspose_slides_cloud/models/graphical_object.rb +2 -4
  20. data/lib/aspose_slides_cloud/models/group_shape.rb +2 -4
  21. data/lib/aspose_slides_cloud/models/header_footer.rb +247 -0
  22. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +2 -12
  23. data/lib/aspose_slides_cloud/models/layout_slide.rb +2 -2
  24. data/lib/aspose_slides_cloud/models/layout_slides.rb +1 -1
  25. data/lib/aspose_slides_cloud/models/line_format.rb +23 -1
  26. data/lib/aspose_slides_cloud/models/master_slide.rb +2 -2
  27. data/lib/aspose_slides_cloud/models/master_slides.rb +1 -1
  28. data/lib/aspose_slides_cloud/models/notes_slide.rb +1 -1
  29. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +267 -0
  30. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +1 -3
  31. data/lib/aspose_slides_cloud/models/paragraphs.rb +1 -1
  32. data/lib/aspose_slides_cloud/models/picture_fill.rb +1 -1
  33. data/lib/aspose_slides_cloud/models/picture_frame.rb +1 -3
  34. data/lib/aspose_slides_cloud/models/placeholder.rb +1 -1
  35. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +46 -2
  36. data/lib/aspose_slides_cloud/models/protection_properties.rb +217 -0
  37. data/lib/aspose_slides_cloud/models/section.rb +234 -0
  38. data/lib/aspose_slides_cloud/models/sections.rb +209 -0
  39. data/lib/aspose_slides_cloud/models/series.rb +2 -2
  40. data/lib/aspose_slides_cloud/models/shape.rb +2 -3
  41. data/lib/aspose_slides_cloud/models/shape_base.rb +3 -24
  42. data/lib/aspose_slides_cloud/models/shapes.rb +1 -1
  43. data/lib/aspose_slides_cloud/models/slide.rb +8 -8
  44. data/lib/aspose_slides_cloud/models/slide_properties.rb +315 -0
  45. data/lib/aspose_slides_cloud/models/slides.rb +1 -1
  46. data/lib/aspose_slides_cloud/models/smart_art.rb +1 -3
  47. data/lib/aspose_slides_cloud/models/smart_art_node.rb +1 -1
  48. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +2 -3
  49. data/lib/aspose_slides_cloud/models/table.rb +1 -3
  50. data/lib/aspose_slides_cloud/models/theme.rb +3 -3
  51. data/lib/aspose_slides_cloud/models/video_frame.rb +1 -3
  52. data/lib/aspose_slides_cloud/models/waterfall_chart_data_point.rb +206 -0
  53. data/lib/aspose_slides_cloud/type_registry.rb +24 -12
  54. data/lib/aspose_slides_cloud/version.rb +1 -1
  55. data/spec/api/slides_api_spec.rb +25848 -18001
  56. data/spec/extra/extra_spec.rb +73 -107
  57. data/spec/spec_utils.rb +21 -24
  58. data/testConfig.json +2 -2
  59. data/testRules.json +160 -103
  60. metadata +14 -3
@@ -57,7 +57,7 @@ module AsposeSlidesCloud
57
57
  @config.logger.debug "HTTP response\nHeaders: #{response.headers}\nStatus: #{response.status}\nBody: #{response.body}\n"
58
58
  end
59
59
 
60
- if response.status == 401 and @config.access_token
60
+ if (response.status == 401 || (response.status == 500 && response.body.length == 0)) and @config.access_token
61
61
  @config.access_token = nil
62
62
  return repeat_call_api(http_method, path, opts)
63
63
  end
@@ -91,8 +91,7 @@ module AsposeSlidesCloud
91
91
  else
92
92
  fail ApiError.new(:code => response.status,
93
93
  :response_headers => response.headers,
94
- :response_body => response.body),
95
- response.reason_phrase
94
+ :response_body => response.body)
96
95
  end
97
96
  end
98
97
 
@@ -147,7 +146,9 @@ module AsposeSlidesCloud
147
146
  opts[:query_params][key] = opts[:query_params][key].join[","]
148
147
  end
149
148
  end
150
- req.options.timeout = 200
149
+ if @config.http_request_timeout > 0
150
+ req.options.timeout = @config.http_request_timeout
151
+ end
151
152
  req.url path.sub(/^\/+/, '')
152
153
  req.headers = opts[:header_params]
153
154
  req.params = opts[:query_params]
@@ -171,26 +172,27 @@ module AsposeSlidesCloud
171
172
  end
172
173
 
173
174
  def set_auth_header(headers)
174
- unless @config.access_token
175
- auth_token_response = Faraday.post(
176
- @config.auth_base_url + '/connect/token',
177
- { :grant_type => 'client_credentials', 'client_id' => @config.app_sid, 'client_secret' => @config.app_key })
178
-
179
- unless auth_token_response.success?
180
- if auth_token_response.status == 0
181
- # Errors from libcurl will be made visible here
182
- fail ApiError.new(:code => 0,
183
- :message => auth_token_response.return_message)
184
- else
185
- fail ApiError.new(:code => 401,
186
- :response_headers => auth_token_response.headers,
187
- :response_body => auth_token_response.body),
188
- "unauthorized"
175
+ if config.app_sid || config.access_token
176
+ unless @config.access_token
177
+ auth_token_response = Faraday.post(
178
+ @config.auth_base_url + '/connect/token',
179
+ { :grant_type => 'client_credentials', 'client_id' => @config.app_sid, 'client_secret' => @config.app_key })
180
+ unless auth_token_response.success?
181
+ if auth_token_response.status == 0
182
+ # Errors from libcurl will be made visible here
183
+ fail ApiError.new(:code => 0,
184
+ :message => auth_token_response.return_message)
185
+ else
186
+ fail ApiError.new(:code => 401,
187
+ :response_headers => auth_token_response.headers,
188
+ :response_body => auth_token_response.body),
189
+ "unauthorized"
190
+ end
189
191
  end
192
+ @config.access_token = JSON.parse("[#{auth_token_response.body}]", :symbolize_names => true)[0][:access_token]
190
193
  end
191
- @config.access_token = JSON.parse("[#{auth_token_response.body}]", :symbolize_names => true)[0][:access_token]
194
+ headers['Authorization'] = 'Bearer ' + @config.access_token
192
195
  end
193
- headers['Authorization'] = 'Bearer ' + @config.access_token
194
196
  end
195
197
 
196
198
  # Check if the given MIME is a JSON MIME.
@@ -322,7 +324,7 @@ module AsposeSlidesCloud
322
324
  def put_multipart!(data, boundary, part_index, part_data)
323
325
  data << "\r\n--#{boundary}\r\n"
324
326
  if part_index > 0
325
- data << "Content-Disposition: form-data; name=\"file#{part_index}\";filename=\"null\"\r\n"
327
+ data << "Content-Disposition: form-data; name=\"file#{part_index}\";filename=\"file#{part_index}\"\r\n"
326
328
  data << "Content-Type: application/octet-stream\r\n"
327
329
  elsif
328
330
  data << "Content-Disposition: form-data; name=\"data\"\r\n"
@@ -66,9 +66,13 @@ module AsposeSlidesCloud
66
66
  # @return [String]
67
67
  attr_accessor :temp_folder_path
68
68
 
69
- # The time limit for HTTP request in seconds.
70
- # Default to 0 (never times out).
69
+ # slides operaion timeout in seconds. The timeout applies to the Slides operation, not to the HTTP request.
70
+ # Default to 0 (no timeout).
71
71
  attr_accessor :timeout
72
+
73
+ # The time limit for HTTP request in seconds.
74
+ # Default to 300.
75
+ attr_accessor :http_request_timeout
72
76
 
73
77
  # Set this to false to skip client side validation in the operation.
74
78
  # Default to true.
@@ -129,6 +133,7 @@ module AsposeSlidesCloud
129
133
  @base_url = 'https://api.aspose.cloud'
130
134
  @auth_base_url = 'https://api.aspose.cloud'
131
135
  @version = 'v3.0'
136
+ @http_request_timeout = 300
132
137
  @timeout = 0
133
138
  @custom_headers = Hash.new
134
139
  @client_side_validation = true
@@ -154,7 +154,6 @@ module AsposeSlidesCloud
154
154
  self.base64_data = attributes[:'Base64Data']
155
155
  end
156
156
  self.type = "AudioFrame"
157
- self.shape_type = "AudioFrame"
158
157
  end
159
158
 
160
159
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -217,7 +216,6 @@ module AsposeSlidesCloud
217
216
  line_format == o.line_format &&
218
217
  type == o.type &&
219
218
  shape_type == o.shape_type &&
220
- geometry_shape_type == o.geometry_shape_type &&
221
219
  audio_cd_end_track == o.audio_cd_end_track &&
222
220
  audio_cd_end_track_time == o.audio_cd_end_track_time &&
223
221
  audio_cd_start_track == o.audio_cd_start_track &&
@@ -239,7 +237,7 @@ module AsposeSlidesCloud
239
237
  # Calculates hash code according to all attributes.
240
238
  # @return [Fixnum] Hash code
241
239
  def hash
242
- [self_uri, alternate_links, name, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, shape_type, geometry_shape_type, audio_cd_end_track, audio_cd_end_track_time, audio_cd_start_track, audio_cd_start_track_time, embedded, hide_at_showing, play_loop_mode, play_mode, volume, base64_data].hash
240
+ [self_uri, alternate_links, name, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, shape_type, audio_cd_end_track, audio_cd_end_track_time, audio_cd_start_track, audio_cd_start_track_time, embedded, hide_at_showing, play_loop_mode, play_mode, volume, base64_data].hash
243
241
  end
244
242
 
245
243
  # Builds the object from hash
@@ -167,7 +167,6 @@ module AsposeSlidesCloud
167
167
  self.plot_area = attributes[:'PlotArea']
168
168
  end
169
169
  self.type = "Chart"
170
- self.shape_type = "Chart"
171
170
  end
172
171
 
173
172
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -186,7 +185,7 @@ module AsposeSlidesCloud
186
185
  def valid?
187
186
  return false if !super
188
187
  return false if @chart_type.nil?
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'])
188
+ 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', 'Map'])
190
189
  return false unless chart_type_validator.valid?(@chart_type)
191
190
  true
192
191
  end
@@ -194,7 +193,7 @@ module AsposeSlidesCloud
194
193
  # Custom attribute writer method checking allowed values (enum).
195
194
  # @param [Object] chart_type Object to be assigned
196
195
  def chart_type=(chart_type)
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'])
196
+ 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', 'Map'])
198
197
  unless validator.valid?(chart_type)
199
198
  fail ArgumentError, 'invalid value for "chart_type", must be one of #{validator.allowable_values}.'
200
199
  end
@@ -222,7 +221,6 @@ module AsposeSlidesCloud
222
221
  effect_format == o.effect_format &&
223
222
  line_format == o.line_format &&
224
223
  type == o.type &&
225
- shape_type == o.shape_type &&
226
224
  chart_type == o.chart_type &&
227
225
  show_data_labels_over_maximum == o.show_data_labels_over_maximum &&
228
226
  series == o.series &&
@@ -245,7 +243,7 @@ module AsposeSlidesCloud
245
243
  # Calculates hash code according to all attributes.
246
244
  # @return [Fixnum] Hash code
247
245
  def hash
248
- [self_uri, alternate_links, name, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, shape_type, chart_type, show_data_labels_over_maximum, series, categories, title, back_wall, side_wall, floor, legend, axes, plot_area].hash
246
+ [self_uri, alternate_links, name, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, chart_type, show_data_labels_over_maximum, series, categories, title, back_wall, side_wall, floor, legend, axes, plot_area].hash
249
247
  end
250
248
 
251
249
  # Builds the object from hash
@@ -25,8 +25,11 @@ require 'date'
25
25
  module AsposeSlidesCloud
26
26
  # Represents chart category resource
27
27
  class ChartCategory
28
- # Gets or sets the categories for chart data
29
- attr_accessor :categories
28
+ # Gets or sets the parent categories. Used with Sunburst &amp; treemap categories; ignored for other chart types.
29
+ attr_accessor :parent_categories
30
+
31
+ # Gets or sets the grouping level for the category. Used with Sunburst &amp; treemap categories; ignored for other chart types.
32
+ attr_accessor :level
30
33
 
31
34
  # Category value
32
35
  attr_accessor :value
@@ -46,7 +49,8 @@ module AsposeSlidesCloud
46
49
  # Attribute mapping from ruby-style variable name to JSON key.
47
50
  def self.attribute_map
48
51
  {
49
- :'categories' => :'Categories',
52
+ :'parent_categories' => :'ParentCategories',
53
+ :'level' => :'Level',
50
54
  :'value' => :'Value',
51
55
  :'fill_format' => :'FillFormat',
52
56
  :'effect_format' => :'EffectFormat',
@@ -58,7 +62,8 @@ module AsposeSlidesCloud
58
62
  # Attribute type mapping.
59
63
  def self.swagger_types
60
64
  {
61
- :'categories' => :'Array<ChartCategory>',
65
+ :'parent_categories' => :'Array<String>',
66
+ :'level' => :'Integer',
62
67
  :'value' => :'String',
63
68
  :'fill_format' => :'FillFormat',
64
69
  :'effect_format' => :'EffectFormat',
@@ -75,12 +80,16 @@ module AsposeSlidesCloud
75
80
  # convert string to symbol for hash key
76
81
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
77
82
 
78
- if attributes.has_key?(:'Categories')
79
- if (value = attributes[:'Categories']).is_a?(Array)
80
- self.categories = value
83
+ if attributes.has_key?(:'ParentCategories')
84
+ if (value = attributes[:'ParentCategories']).is_a?(Array)
85
+ self.parent_categories = value
81
86
  end
82
87
  end
83
88
 
89
+ if attributes.has_key?(:'Level')
90
+ self.level = attributes[:'Level']
91
+ end
92
+
84
93
  if attributes.has_key?(:'Value')
85
94
  self.value = attributes[:'Value']
86
95
  end
@@ -122,7 +131,8 @@ module AsposeSlidesCloud
122
131
  def ==(o)
123
132
  return true if self.equal?(o)
124
133
  self.class == o.class &&
125
- categories == o.categories &&
134
+ parent_categories == o.parent_categories &&
135
+ level == o.level &&
126
136
  value == o.value &&
127
137
  fill_format == o.fill_format &&
128
138
  effect_format == o.effect_format &&
@@ -139,7 +149,7 @@ module AsposeSlidesCloud
139
149
  # Calculates hash code according to all attributes.
140
150
  # @return [Fixnum] Hash code
141
151
  def hash
142
- [categories, value, fill_format, effect_format, line_format, data_points].hash
152
+ [parent_categories, level, value, fill_format, effect_format, line_format, data_points].hash
143
153
  end
144
154
 
145
155
  # Builds the object from hash
@@ -138,7 +138,6 @@ module AsposeSlidesCloud
138
138
  line_format == o.line_format &&
139
139
  type == o.type &&
140
140
  shape_type == o.shape_type &&
141
- geometry_shape_type == o.geometry_shape_type &&
142
141
  start_shape_connected_to == o.start_shape_connected_to &&
143
142
  start_shape_connected_to_index == o.start_shape_connected_to_index &&
144
143
  end_shape_connected_to == o.end_shape_connected_to &&
@@ -154,7 +153,7 @@ module AsposeSlidesCloud
154
153
  # Calculates hash code according to all attributes.
155
154
  # @return [Fixnum] Hash code
156
155
  def hash
157
- [self_uri, alternate_links, name, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, shape_type, geometry_shape_type, start_shape_connected_to, start_shape_connected_to_index, end_shape_connected_to, end_shape_connected_to_index].hash
156
+ [self_uri, alternate_links, name, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, shape_type, start_shape_connected_to, start_shape_connected_to_index, end_shape_connected_to, end_shape_connected_to_index].hash
158
157
  end
159
158
 
160
159
  # Builds the object from hash
@@ -23,22 +23,17 @@ SOFTWARE.
23
23
  require 'date'
24
24
 
25
25
  module AsposeSlidesCloud
26
- # Resource URI element.
27
- class ResourceUriElement
28
- # Resource URI.
29
- attr_accessor :uri
30
-
26
+ # Data point.
27
+ class DataPoint
31
28
  # Attribute mapping from ruby-style variable name to JSON key.
32
29
  def self.attribute_map
33
30
  {
34
- :'uri' => :'Uri',
35
31
  }
36
32
  end
37
33
 
38
34
  # Attribute type mapping.
39
35
  def self.swagger_types
40
36
  {
41
- :'uri' => :'ResourceUri',
42
37
  }
43
38
  end
44
39
 
@@ -49,10 +44,6 @@ module AsposeSlidesCloud
49
44
 
50
45
  # convert string to symbol for hash key
51
46
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
52
-
53
- if attributes.has_key?(:'Uri')
54
- self.uri = attributes[:'Uri']
55
- end
56
47
  end
57
48
 
58
49
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -72,8 +63,7 @@ module AsposeSlidesCloud
72
63
  # @param [Object] Object to be compared
73
64
  def ==(o)
74
65
  return true if self.equal?(o)
75
- self.class == o.class &&
76
- uri == o.uri
66
+ self.class == o.class
77
67
  end
78
68
 
79
69
  # @see the `==` method
@@ -85,7 +75,7 @@ module AsposeSlidesCloud
85
75
  # Calculates hash code according to all attributes.
86
76
  # @return [Fixnum] Hash code
87
77
  def hash
88
- [uri].hash
78
+ [].hash
89
79
  end
90
80
 
91
81
  # Builds the object from hash
@@ -58,12 +58,12 @@ module AsposeSlidesCloud
58
58
  # Attribute type mapping.
59
59
  def self.swagger_types
60
60
  super.merge({
61
- :'document_properties' => :'ResourceUriElement',
62
- :'view_properties' => :'ResourceUriElement',
63
- :'slides' => :'ResourceUriElement',
64
- :'images' => :'ResourceUriElement',
65
- :'layout_slides' => :'ResourceUriElement',
66
- :'master_slides' => :'ResourceUriElement',
61
+ :'document_properties' => :'ResourceUri',
62
+ :'view_properties' => :'ResourceUri',
63
+ :'slides' => :'ResourceUri',
64
+ :'images' => :'ResourceUri',
65
+ :'layout_slides' => :'ResourceUri',
66
+ :'master_slides' => :'ResourceUri',
67
67
  })
68
68
  end
69
69
 
@@ -25,8 +25,8 @@ require 'date'
25
25
  module AsposeSlidesCloud
26
26
  # Represents GeometryShape resource.
27
27
  class GeometryShape < ShapeBase
28
- # Geometry shape type.
29
- attr_accessor :geometry_shape_type
28
+ # Combined shape type.
29
+ attr_accessor :shape_type
30
30
 
31
31
  class EnumAttributeValidator
32
32
  attr_reader :datatype
@@ -53,14 +53,14 @@ module AsposeSlidesCloud
53
53
  # Attribute mapping from ruby-style variable name to JSON key.
54
54
  def self.attribute_map
55
55
  super.merge({
56
- :'geometry_shape_type' => :'GeometryShapeType',
56
+ :'shape_type' => :'ShapeType',
57
57
  })
58
58
  end
59
59
 
60
60
  # Attribute type mapping.
61
61
  def self.swagger_types
62
62
  super.merge({
63
- :'geometry_shape_type' => :'String',
63
+ :'shape_type' => :'String',
64
64
  })
65
65
  end
66
66
 
@@ -69,8 +69,8 @@ module AsposeSlidesCloud
69
69
  def initialize(attributes = {})
70
70
  super
71
71
 
72
- if attributes.has_key?(:'GeometryShapeType')
73
- self.geometry_shape_type = attributes[:'GeometryShapeType']
72
+ if attributes.has_key?(:'ShapeType')
73
+ self.shape_type = attributes[:'ShapeType']
74
74
  end
75
75
  end
76
76
 
@@ -78,8 +78,8 @@ module AsposeSlidesCloud
78
78
  # @return Array for valid properties with the reasons
79
79
  def list_invalid_properties
80
80
  invalid_properties = super
81
- if @geometry_shape_type.nil?
82
- invalid_properties.push('invalid value for "geometry_shape_type", geometry_shape_type cannot be nil.')
81
+ if @shape_type.nil?
82
+ invalid_properties.push('invalid value for "shape_type", shape_type cannot be nil.')
83
83
  end
84
84
 
85
85
  invalid_properties
@@ -89,20 +89,20 @@ module AsposeSlidesCloud
89
89
  # @return true if the model is valid
90
90
  def valid?
91
91
  return false if !super
92
- return false if @geometry_shape_type.nil?
93
- geometry_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', 'NotDefined'])
94
- return false unless geometry_shape_type_validator.valid?(@geometry_shape_type)
92
+ return false if @shape_type.nil?
93
+ 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', 'NotDefined'])
94
+ return false unless shape_type_validator.valid?(@shape_type)
95
95
  true
96
96
  end
97
97
 
98
98
  # Custom attribute writer method checking allowed values (enum).
99
- # @param [Object] geometry_shape_type Object to be assigned
100
- def geometry_shape_type=(geometry_shape_type)
99
+ # @param [Object] shape_type Object to be assigned
100
+ def shape_type=(shape_type)
101
101
  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', 'NotDefined'])
102
- unless validator.valid?(geometry_shape_type)
103
- fail ArgumentError, 'invalid value for "geometry_shape_type", must be one of #{validator.allowable_values}.'
102
+ unless validator.valid?(shape_type)
103
+ fail ArgumentError, 'invalid value for "shape_type", must be one of #{validator.allowable_values}.'
104
104
  end
105
- @geometry_shape_type = geometry_shape_type
105
+ @shape_type = shape_type
106
106
  end
107
107
 
108
108
  # Checks equality by comparing each attribute.
@@ -126,8 +126,7 @@ module AsposeSlidesCloud
126
126
  effect_format == o.effect_format &&
127
127
  line_format == o.line_format &&
128
128
  type == o.type &&
129
- shape_type == o.shape_type &&
130
- geometry_shape_type == o.geometry_shape_type
129
+ shape_type == o.shape_type
131
130
  end
132
131
 
133
132
  # @see the `==` method
@@ -139,7 +138,7 @@ module AsposeSlidesCloud
139
138
  # Calculates hash code according to all attributes.
140
139
  # @return [Fixnum] Hash code
141
140
  def hash
142
- [self_uri, alternate_links, name, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, shape_type, geometry_shape_type].hash
141
+ [self_uri, alternate_links, name, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, shape_type].hash
143
142
  end
144
143
 
145
144
  # Builds the object from hash
@@ -64,7 +64,6 @@ module AsposeSlidesCloud
64
64
  def initialize(attributes = {})
65
65
  super
66
66
  self.type = "GraphicalObject"
67
- self.shape_type = "GraphicalObject"
68
67
  end
69
68
 
70
69
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -101,8 +100,7 @@ module AsposeSlidesCloud
101
100
  fill_format == o.fill_format &&
102
101
  effect_format == o.effect_format &&
103
102
  line_format == o.line_format &&
104
- type == o.type &&
105
- shape_type == o.shape_type
103
+ type == o.type
106
104
  end
107
105
 
108
106
  # @see the `==` method
@@ -114,7 +112,7 @@ module AsposeSlidesCloud
114
112
  # Calculates hash code according to all attributes.
115
113
  # @return [Fixnum] Hash code
116
114
  def hash
117
- [self_uri, alternate_linksname, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type, shape_type].hash
115
+ [self_uri, alternate_linksname, width, height, alternative_text, alternative_text_title, hidden, x, y, z_order_position, shapes, fill_format, effect_format, line_format, type].hash
118
116
  end
119
117
 
120
118
  # Builds the object from hash