aspose_slides_cloud 20.2.0 → 20.8.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 (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
@@ -193,7 +193,7 @@ module AsposeSlidesCloud
193
193
  :'tick_label_rotation_angle' => :'TickLabelRotationAngle',
194
194
  :'fill_format' => :'FillFormat',
195
195
  :'effect_format' => :'EffectFormat',
196
- :'line_format' => :'LineFormat'
196
+ :'line_format' => :'LineFormat',
197
197
  }
198
198
  end
199
199
 
@@ -235,7 +235,7 @@ module AsposeSlidesCloud
235
235
  :'tick_label_rotation_angle' => :'Float',
236
236
  :'fill_format' => :'FillFormat',
237
237
  :'effect_format' => :'EffectFormat',
238
- :'line_format' => :'LineFormat'
238
+ :'line_format' => :'LineFormat',
239
239
  }
240
240
  end
241
241
 
@@ -586,15 +586,27 @@ module AsposeSlidesCloud
586
586
  def build_from_hash(attributes)
587
587
  return nil unless attributes.is_a?(Hash)
588
588
  self.class.swagger_types.each_pair do |key, type|
589
- if type =~ /\AArray<(.*)>/i
590
- # check to ensure the input is an array given that the the attribute
591
- # is documented as an array but the input is not
592
- if attributes[self.class.attribute_map[key]].is_a?(Array)
593
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
589
+ mapKey = self.class.attribute_map[key]
590
+ if !mapKey.nil?
591
+ val = attributes[mapKey]
592
+ if val.nil?
593
+ mapKeyString = mapKey.to_s
594
+ mapKeyString[0] = mapKeyString[0].downcase
595
+ mapKey = mapKeyString.to_sym
596
+ val = attributes[mapKey]
594
597
  end
595
- elsif !attributes[self.class.attribute_map[key]].nil?
596
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
597
- end # or else data not found in attributes(hash), not an issue as the data can be optional
598
+ if !val.nil?
599
+ if type =~ /\AArray<(.*)>/i
600
+ # check to ensure the input is an array given that the the attribute
601
+ # is documented as an array but the input is not
602
+ if val.is_a?(Array)
603
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
604
+ end
605
+ else
606
+ self.send("#{key}=", _deserialize(type, val))
607
+ end
608
+ end
609
+ end
598
610
  end
599
611
 
600
612
  self
@@ -24,13 +24,7 @@ require 'date'
24
24
 
25
25
  module AsposeSlidesCloud
26
26
  # Represents base64 inline encoded file.
27
- class Base64InputFile
28
- # Get or sets password to open document.
29
- attr_accessor :password
30
-
31
- # File type.
32
- attr_accessor :type
33
-
27
+ class Base64InputFile < InputFile
34
28
  # Get or sets base64 data.
35
29
  attr_accessor :data
36
30
 
@@ -58,75 +52,43 @@ module AsposeSlidesCloud
58
52
 
59
53
  # Attribute mapping from ruby-style variable name to JSON key.
60
54
  def self.attribute_map
61
- {
62
- :'password' => :'Password',
63
- :'type' => :'Type',
64
- :'data' => :'Data'
65
- }
55
+ super.merge({
56
+ :'data' => :'Data',
57
+ })
66
58
  end
67
59
 
68
60
  # Attribute type mapping.
69
61
  def self.swagger_types
70
- {
71
- :'password' => :'String',
72
- :'type' => :'String',
73
- :'data' => :'String'
74
- }
62
+ super.merge({
63
+ :'data' => :'String',
64
+ })
75
65
  end
76
66
 
77
67
  # Initializes the object
78
68
  # @param [Hash] attributes Model attributes in the form of hash
79
69
  def initialize(attributes = {})
80
- return unless attributes.is_a?(Hash)
81
-
82
- # convert string to symbol for hash key
83
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
84
-
85
- if attributes.has_key?(:'Password')
86
- self.password = attributes[:'Password']
87
- end
88
-
89
- if attributes.has_key?(:'Type')
90
- self.type = attributes[:'Type']
91
- else
92
- self.type = "Base64"
93
- end
70
+ super
94
71
 
95
72
  if attributes.has_key?(:'Data')
96
73
  self.data = attributes[:'Data']
97
74
  end
75
+ self.type = "Base64"
98
76
  end
99
77
 
100
78
  # Show invalid properties with the reasons. Usually used together with valid?
101
79
  # @return Array for valid properties with the reasons
102
80
  def list_invalid_properties
103
- invalid_properties = Array.new
104
- if @type.nil?
105
- invalid_properties.push('invalid value for "type", type cannot be nil.')
106
- end
107
-
81
+ invalid_properties = super
108
82
  invalid_properties
109
83
  end
110
84
 
111
85
  # Check to see if the all the properties in the model are valid
112
86
  # @return true if the model is valid
113
87
  def valid?
114
- return false if @type.nil?
115
- type_validator = EnumAttributeValidator.new('String', ['Path', 'Request', 'Base64'])
116
- return false unless type_validator.valid?(@type)
88
+ return false if !super
117
89
  true
118
90
  end
119
91
 
120
- # Custom attribute writer method checking allowed values (enum).
121
- # @param [Object] type Object to be assigned
122
- def type=(type)
123
- validator = EnumAttributeValidator.new('String', ['Path', 'Request', 'Base64'])
124
- unless validator.valid?(type)
125
- fail ArgumentError, 'invalid value for "type", must be one of #{validator.allowable_values}.'
126
- end
127
- @type = type
128
- end
129
-
130
92
  # Checks equality by comparing each attribute.
131
93
  # @param [Object] Object to be compared
132
94
  def ==(o)
@@ -155,15 +117,27 @@ module AsposeSlidesCloud
155
117
  def build_from_hash(attributes)
156
118
  return nil unless attributes.is_a?(Hash)
157
119
  self.class.swagger_types.each_pair do |key, type|
158
- if type =~ /\AArray<(.*)>/i
159
- # check to ensure the input is an array given that the the attribute
160
- # is documented as an array but the input is not
161
- if attributes[self.class.attribute_map[key]].is_a?(Array)
162
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
120
+ mapKey = self.class.attribute_map[key]
121
+ if !mapKey.nil?
122
+ val = attributes[mapKey]
123
+ if val.nil?
124
+ mapKeyString = mapKey.to_s
125
+ mapKeyString[0] = mapKeyString[0].downcase
126
+ mapKey = mapKeyString.to_sym
127
+ val = attributes[mapKey]
128
+ end
129
+ if !val.nil?
130
+ if type =~ /\AArray<(.*)>/i
131
+ # check to ensure the input is an array given that the the attribute
132
+ # is documented as an array but the input is not
133
+ if val.is_a?(Array)
134
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
135
+ end
136
+ else
137
+ self.send("#{key}=", _deserialize(type, val))
138
+ end
163
139
  end
164
- elsif !attributes[self.class.attribute_map[key]].nil?
165
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
166
- end # or else data not found in attributes(hash), not an issue as the data can be optional
140
+ end
167
141
  end
168
142
 
169
143
  self
@@ -35,7 +35,7 @@ module AsposeSlidesCloud
35
35
  def self.attribute_map
36
36
  {
37
37
  :'radius' => :'Radius',
38
- :'grow' => :'Grow'
38
+ :'grow' => :'Grow',
39
39
  }
40
40
  end
41
41
 
@@ -43,7 +43,7 @@ module AsposeSlidesCloud
43
43
  def self.swagger_types
44
44
  {
45
45
  :'radius' => :'Float',
46
- :'grow' => :'BOOLEAN'
46
+ :'grow' => :'BOOLEAN',
47
47
  }
48
48
  end
49
49
 
@@ -114,15 +114,27 @@ module AsposeSlidesCloud
114
114
  def build_from_hash(attributes)
115
115
  return nil unless attributes.is_a?(Hash)
116
116
  self.class.swagger_types.each_pair do |key, type|
117
- if type =~ /\AArray<(.*)>/i
118
- # check to ensure the input is an array given that the the attribute
119
- # is documented as an array but the input is not
120
- if attributes[self.class.attribute_map[key]].is_a?(Array)
121
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
117
+ mapKey = self.class.attribute_map[key]
118
+ if !mapKey.nil?
119
+ val = attributes[mapKey]
120
+ if val.nil?
121
+ mapKeyString = mapKey.to_s
122
+ mapKeyString[0] = mapKeyString[0].downcase
123
+ mapKey = mapKeyString.to_sym
124
+ val = attributes[mapKey]
122
125
  end
123
- elsif !attributes[self.class.attribute_map[key]].nil?
124
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
125
- end # or else data not found in attributes(hash), not an issue as the data can be optional
126
+ if !val.nil?
127
+ if type =~ /\AArray<(.*)>/i
128
+ # check to ensure the input is an array given that the the attribute
129
+ # is documented as an array but the input is not
130
+ if val.is_a?(Array)
131
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
132
+ end
133
+ else
134
+ self.send("#{key}=", _deserialize(type, val))
135
+ end
136
+ end
137
+ end
126
138
  end
127
139
 
128
140
  self
@@ -0,0 +1,299 @@
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
+ # One value series.
27
+ class BoxAndWhiskerSeries < OneValueSeries
28
+ # Quartile method.
29
+ attr_accessor :quartile_method
30
+
31
+ # True if inner points are shown.
32
+ attr_accessor :show_inner_points
33
+
34
+ # True if mean line is shown.
35
+ attr_accessor :show_mean_line
36
+
37
+ # True if mean markers are shown.
38
+ attr_accessor :show_mean_markers
39
+
40
+ # True if outlier points are shown.
41
+ attr_accessor :show_outlier_points
42
+
43
+ class EnumAttributeValidator
44
+ attr_reader :datatype
45
+ attr_reader :allowable_values
46
+
47
+ def initialize(datatype, allowable_values)
48
+ @allowable_values = allowable_values.map do |value|
49
+ case datatype.to_s
50
+ when /Integer/i
51
+ value.to_i
52
+ when /Float/i
53
+ value.to_f
54
+ else
55
+ value
56
+ end
57
+ end
58
+ end
59
+
60
+ def valid?(value)
61
+ !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
62
+ end
63
+ end
64
+
65
+ # Attribute mapping from ruby-style variable name to JSON key.
66
+ def self.attribute_map
67
+ super.merge({
68
+ :'quartile_method' => :'QuartileMethod',
69
+ :'show_inner_points' => :'ShowInnerPoints',
70
+ :'show_mean_line' => :'ShowMeanLine',
71
+ :'show_mean_markers' => :'ShowMeanMarkers',
72
+ :'show_outlier_points' => :'ShowOutlierPoints',
73
+ })
74
+ end
75
+
76
+ # Attribute type mapping.
77
+ def self.swagger_types
78
+ super.merge({
79
+ :'quartile_method' => :'String',
80
+ :'show_inner_points' => :'BOOLEAN',
81
+ :'show_mean_line' => :'BOOLEAN',
82
+ :'show_mean_markers' => :'BOOLEAN',
83
+ :'show_outlier_points' => :'BOOLEAN',
84
+ })
85
+ end
86
+
87
+ # Initializes the object
88
+ # @param [Hash] attributes Model attributes in the form of hash
89
+ def initialize(attributes = {})
90
+ super
91
+
92
+ if attributes.has_key?(:'QuartileMethod')
93
+ self.quartile_method = attributes[:'QuartileMethod']
94
+ end
95
+
96
+ if attributes.has_key?(:'ShowInnerPoints')
97
+ self.show_inner_points = attributes[:'ShowInnerPoints']
98
+ end
99
+
100
+ if attributes.has_key?(:'ShowMeanLine')
101
+ self.show_mean_line = attributes[:'ShowMeanLine']
102
+ end
103
+
104
+ if attributes.has_key?(:'ShowMeanMarkers')
105
+ self.show_mean_markers = attributes[:'ShowMeanMarkers']
106
+ end
107
+
108
+ if attributes.has_key?(:'ShowOutlierPoints')
109
+ self.show_outlier_points = attributes[:'ShowOutlierPoints']
110
+ end
111
+ self.data_point_type = "OneValue"
112
+ end
113
+
114
+ # Show invalid properties with the reasons. Usually used together with valid?
115
+ # @return Array for valid properties with the reasons
116
+ def list_invalid_properties
117
+ invalid_properties = super
118
+ invalid_properties
119
+ end
120
+
121
+ # Check to see if the all the properties in the model are valid
122
+ # @return true if the model is valid
123
+ def valid?
124
+ return false if !super
125
+ quartile_method_validator = EnumAttributeValidator.new('String', ['Exclusive', 'Inclusive'])
126
+ return false unless quartile_method_validator.valid?(@quartile_method)
127
+ true
128
+ end
129
+
130
+ # Custom attribute writer method checking allowed values (enum).
131
+ # @param [Object] quartile_method Object to be assigned
132
+ def quartile_method=(quartile_method)
133
+ validator = EnumAttributeValidator.new('String', ['Exclusive', 'Inclusive'])
134
+ unless validator.valid?(quartile_method)
135
+ fail ArgumentError, 'invalid value for "quartile_method", must be one of #{validator.allowable_values}.'
136
+ end
137
+ @quartile_method = quartile_method
138
+ end
139
+
140
+ # Checks equality by comparing each attribute.
141
+ # @param [Object] Object to be compared
142
+ def ==(o)
143
+ return true if self.equal?(o)
144
+ self.class == o.class &&
145
+ type == o.type &&
146
+ name == o.name &&
147
+ is_color_varied == o.is_color_varied &&
148
+ inverted_solid_fill_color == o.inverted_solid_fill_color &&
149
+ smooth == o.smooth &&
150
+ plot_on_second_axis == o.plot_on_second_axis &&
151
+ order == o.order &&
152
+ number_format_of_y_values == o.number_format_of_y_values &&
153
+ number_format_of_x_values == o.number_format_of_x_values &&
154
+ number_format_of_values == o.number_format_of_values &&
155
+ number_format_of_bubble_sizes == o.number_format_of_bubble_sizes &&
156
+ invert_if_negative == o.invert_if_negative &&
157
+ explosion == o.explosion &&
158
+ marker == o.marker &&
159
+ fill_format == o.fill_format &&
160
+ effect_format == o.effect_format &&
161
+ line_format == o.line_format &&
162
+ data_point_type == o.data_point_type &&
163
+ data_points == o.data_points &&
164
+ quartile_method == o.quartile_method &&
165
+ show_inner_points == o.show_inner_points &&
166
+ show_mean_line == o.show_mean_line &&
167
+ show_mean_markers == o.show_mean_markers &&
168
+ show_outlier_points == o.show_outlier_points
169
+ end
170
+
171
+ # @see the `==` method
172
+ # @param [Object] Object to be compared
173
+ def eql?(o)
174
+ self == o
175
+ end
176
+
177
+ # Calculates hash code according to all attributes.
178
+ # @return [Fixnum] Hash code
179
+ def hash
180
+ [type, name, is_color_varied, inverted_solid_fill_color, smooth, plot_on_second_axis, order, number_format_of_y_values, number_format_of_x_values, number_format_of_values, number_format_of_bubble_sizes, invert_if_negative, explosion, marker, fill_format, effect_format, line_format, data_point_type, data_points, quartile_method, show_inner_points, show_mean_line, show_mean_markers, show_outlier_points].hash
181
+ end
182
+
183
+ # Builds the object from hash
184
+ # @param [Hash] attributes Model attributes in the form of hash
185
+ # @return [Object] Returns the model itself
186
+ def build_from_hash(attributes)
187
+ return nil unless attributes.is_a?(Hash)
188
+ self.class.swagger_types.each_pair do |key, type|
189
+ mapKey = self.class.attribute_map[key]
190
+ if !mapKey.nil?
191
+ val = attributes[mapKey]
192
+ if val.nil?
193
+ mapKeyString = mapKey.to_s
194
+ mapKeyString[0] = mapKeyString[0].downcase
195
+ mapKey = mapKeyString.to_sym
196
+ val = attributes[mapKey]
197
+ end
198
+ if !val.nil?
199
+ if type =~ /\AArray<(.*)>/i
200
+ # check to ensure the input is an array given that the the attribute
201
+ # is documented as an array but the input is not
202
+ if val.is_a?(Array)
203
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
204
+ end
205
+ else
206
+ self.send("#{key}=", _deserialize(type, val))
207
+ end
208
+ end
209
+ end
210
+ end
211
+
212
+ self
213
+ end
214
+
215
+ # Deserializes the data based on type
216
+ # @param string type Data type
217
+ # @param string value Value to be deserialized
218
+ # @return [Object] Deserialized data
219
+ def _deserialize(type, value)
220
+ case type.to_sym
221
+ when :DateTime
222
+ DateTime.parse(value)
223
+ when :Date
224
+ Date.parse(value)
225
+ when :String
226
+ value.to_s
227
+ when :Integer
228
+ value.to_i
229
+ when :Float
230
+ value.to_f
231
+ when :BOOLEAN
232
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
233
+ true
234
+ else
235
+ false
236
+ end
237
+ when :Object
238
+ # generic object (usually a Hash), return directly
239
+ value
240
+ when /\AArray<(?<inner_type>.+)>\z/
241
+ inner_type = Regexp.last_match[:inner_type]
242
+ value.map { |v| _deserialize(inner_type, v) }
243
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
244
+ k_type = Regexp.last_match[:k_type]
245
+ v_type = Regexp.last_match[:v_type]
246
+ {}.tap do |hash|
247
+ value.each do |k, v|
248
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
249
+ end
250
+ end
251
+ else # model
252
+ temp_model = AsposeSlidesCloud.const_get(type).new
253
+ temp_model.build_from_hash(value)
254
+ end
255
+ end
256
+
257
+ # Returns the string representation of the object
258
+ # @return [String] String presentation of the object
259
+ def to_s
260
+ to_hash.to_s
261
+ end
262
+
263
+ # to_body is an alias to to_hash (backward compatibility)
264
+ # @return [Hash] Returns the object in the form of hash
265
+ def to_body
266
+ to_hash
267
+ end
268
+
269
+ # Returns the object in the form of hash
270
+ # @return [Hash] Returns the object in the form of hash
271
+ def to_hash
272
+ hash = {}
273
+ self.class.attribute_map.each_pair do |attr, param|
274
+ value = self.send(attr)
275
+ next if value.nil?
276
+ hash[param] = _to_hash(value)
277
+ end
278
+ hash
279
+ end
280
+
281
+ # Outputs non-array value in the form of hash
282
+ # For object, use to_hash. Otherwise, just return the value
283
+ # @param [Object] value Any valid value
284
+ # @return [Hash] Returns the value in the form of hash
285
+ def _to_hash(value)
286
+ if value.is_a?(Array)
287
+ value.compact.map { |v| _to_hash(v) }
288
+ elsif value.is_a?(Hash)
289
+ {}.tap do |hash|
290
+ value.each { |k, v| hash[k] = _to_hash(v) }
291
+ end
292
+ elsif value.respond_to? :to_hash
293
+ value.to_hash
294
+ else
295
+ value
296
+ end
297
+ end
298
+ end
299
+ end