groupdocs_conversion_cloud 19.4

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 (178) hide show
  1. checksums.yaml +7 -0
  2. data/lib/groupdocs_conversion_cloud.rb +205 -0
  3. data/lib/groupdocs_conversion_cloud/api/conversion_api.rb +336 -0
  4. data/lib/groupdocs_conversion_cloud/api/file_api.rb +729 -0
  5. data/lib/groupdocs_conversion_cloud/api/folder_api.rb +694 -0
  6. data/lib/groupdocs_conversion_cloud/api/storage_api.rb +541 -0
  7. data/lib/groupdocs_conversion_cloud/api_client.rb +380 -0
  8. data/lib/groupdocs_conversion_cloud/api_error.rb +58 -0
  9. data/lib/groupdocs_conversion_cloud/configuration.rb +95 -0
  10. data/lib/groupdocs_conversion_cloud/models/bmp_convert_options.rb +361 -0
  11. data/lib/groupdocs_conversion_cloud/models/bmp_load_options.rb +214 -0
  12. data/lib/groupdocs_conversion_cloud/models/cad_load_options.rb +246 -0
  13. data/lib/groupdocs_conversion_cloud/models/cgm_convert_options.rb +361 -0
  14. data/lib/groupdocs_conversion_cloud/models/convert_options.rb +246 -0
  15. data/lib/groupdocs_conversion_cloud/models/convert_settings.rb +312 -0
  16. data/lib/groupdocs_conversion_cloud/models/csv_load_options.rb +279 -0
  17. data/lib/groupdocs_conversion_cloud/models/dcm_convert_options.rb +361 -0
  18. data/lib/groupdocs_conversion_cloud/models/dcm_load_options.rb +214 -0
  19. data/lib/groupdocs_conversion_cloud/models/dgn_load_options.rb +246 -0
  20. data/lib/groupdocs_conversion_cloud/models/diagram_load_options.rb +214 -0
  21. data/lib/groupdocs_conversion_cloud/models/disc_usage.rb +234 -0
  22. data/lib/groupdocs_conversion_cloud/models/djvu_convert_options.rb +361 -0
  23. data/lib/groupdocs_conversion_cloud/models/dng_convert_options.rb +361 -0
  24. data/lib/groupdocs_conversion_cloud/models/dng_load_options.rb +214 -0
  25. data/lib/groupdocs_conversion_cloud/models/doc_convert_options.rb +326 -0
  26. data/lib/groupdocs_conversion_cloud/models/doc_load_options.rb +281 -0
  27. data/lib/groupdocs_conversion_cloud/models/docm_convert_options.rb +326 -0
  28. data/lib/groupdocs_conversion_cloud/models/docm_load_options.rb +281 -0
  29. data/lib/groupdocs_conversion_cloud/models/docx_convert_options.rb +326 -0
  30. data/lib/groupdocs_conversion_cloud/models/docx_load_options.rb +281 -0
  31. data/lib/groupdocs_conversion_cloud/models/dot_convert_options.rb +326 -0
  32. data/lib/groupdocs_conversion_cloud/models/dot_load_options.rb +281 -0
  33. data/lib/groupdocs_conversion_cloud/models/dotm_convert_options.rb +326 -0
  34. data/lib/groupdocs_conversion_cloud/models/dotm_load_options.rb +281 -0
  35. data/lib/groupdocs_conversion_cloud/models/dotx_convert_options.rb +326 -0
  36. data/lib/groupdocs_conversion_cloud/models/dotx_load_options.rb +281 -0
  37. data/lib/groupdocs_conversion_cloud/models/dwf_load_options.rb +246 -0
  38. data/lib/groupdocs_conversion_cloud/models/dwg_load_options.rb +246 -0
  39. data/lib/groupdocs_conversion_cloud/models/dxf_load_options.rb +246 -0
  40. data/lib/groupdocs_conversion_cloud/models/email_load_options.rb +294 -0
  41. data/lib/groupdocs_conversion_cloud/models/emf_convert_options.rb +361 -0
  42. data/lib/groupdocs_conversion_cloud/models/emf_load_options.rb +214 -0
  43. data/lib/groupdocs_conversion_cloud/models/eml_load_options.rb +294 -0
  44. data/lib/groupdocs_conversion_cloud/models/emlx_load_options.rb +294 -0
  45. data/lib/groupdocs_conversion_cloud/models/epub_convert_options.rb +386 -0
  46. data/lib/groupdocs_conversion_cloud/models/error.rb +244 -0
  47. data/lib/groupdocs_conversion_cloud/models/error_details.rb +229 -0
  48. data/lib/groupdocs_conversion_cloud/models/file_version.rb +289 -0
  49. data/lib/groupdocs_conversion_cloud/models/file_versions.rb +216 -0
  50. data/lib/groupdocs_conversion_cloud/models/files_list.rb +216 -0
  51. data/lib/groupdocs_conversion_cloud/models/files_upload_result.rb +228 -0
  52. data/lib/groupdocs_conversion_cloud/models/gif_convert_options.rb +361 -0
  53. data/lib/groupdocs_conversion_cloud/models/gif_load_options.rb +214 -0
  54. data/lib/groupdocs_conversion_cloud/models/html_convert_options.rb +301 -0
  55. data/lib/groupdocs_conversion_cloud/models/ico_convert_options.rb +361 -0
  56. data/lib/groupdocs_conversion_cloud/models/ico_load_options.rb +214 -0
  57. data/lib/groupdocs_conversion_cloud/models/ifc_load_options.rb +246 -0
  58. data/lib/groupdocs_conversion_cloud/models/igs_load_options.rb +246 -0
  59. data/lib/groupdocs_conversion_cloud/models/image_convert_options.rb +361 -0
  60. data/lib/groupdocs_conversion_cloud/models/image_load_options.rb +214 -0
  61. data/lib/groupdocs_conversion_cloud/models/j2c_convert_options.rb +376 -0
  62. data/lib/groupdocs_conversion_cloud/models/j2c_load_options.rb +214 -0
  63. data/lib/groupdocs_conversion_cloud/models/j2k_convert_options.rb +376 -0
  64. data/lib/groupdocs_conversion_cloud/models/j2k_load_options.rb +214 -0
  65. data/lib/groupdocs_conversion_cloud/models/jp2_convert_options.rb +376 -0
  66. data/lib/groupdocs_conversion_cloud/models/jp2_load_options.rb +214 -0
  67. data/lib/groupdocs_conversion_cloud/models/jpeg_convert_options.rb +376 -0
  68. data/lib/groupdocs_conversion_cloud/models/jpeg_load_options.rb +214 -0
  69. data/lib/groupdocs_conversion_cloud/models/jpf_convert_options.rb +376 -0
  70. data/lib/groupdocs_conversion_cloud/models/jpf_load_options.rb +214 -0
  71. data/lib/groupdocs_conversion_cloud/models/jpg_convert_options.rb +376 -0
  72. data/lib/groupdocs_conversion_cloud/models/jpg_load_options.rb +214 -0
  73. data/lib/groupdocs_conversion_cloud/models/jpm_convert_options.rb +376 -0
  74. data/lib/groupdocs_conversion_cloud/models/jpm_load_options.rb +214 -0
  75. data/lib/groupdocs_conversion_cloud/models/jpx_convert_options.rb +376 -0
  76. data/lib/groupdocs_conversion_cloud/models/jpx_load_options.rb +214 -0
  77. data/lib/groupdocs_conversion_cloud/models/load_options.rb +204 -0
  78. data/lib/groupdocs_conversion_cloud/models/mht_load_options.rb +294 -0
  79. data/lib/groupdocs_conversion_cloud/models/mobi_load_options.rb +281 -0
  80. data/lib/groupdocs_conversion_cloud/models/msg_load_options.rb +294 -0
  81. data/lib/groupdocs_conversion_cloud/models/object_exist.rb +234 -0
  82. data/lib/groupdocs_conversion_cloud/models/odg_convert_options.rb +361 -0
  83. data/lib/groupdocs_conversion_cloud/models/odg_load_options.rb +214 -0
  84. data/lib/groupdocs_conversion_cloud/models/odp_convert_options.rb +281 -0
  85. data/lib/groupdocs_conversion_cloud/models/odp_load_options.rb +266 -0
  86. data/lib/groupdocs_conversion_cloud/models/ods_convert_options.rb +296 -0
  87. data/lib/groupdocs_conversion_cloud/models/ods_load_options.rb +321 -0
  88. data/lib/groupdocs_conversion_cloud/models/odt_convert_options.rb +326 -0
  89. data/lib/groupdocs_conversion_cloud/models/odt_load_options.rb +281 -0
  90. data/lib/groupdocs_conversion_cloud/models/one_load_options.rb +236 -0
  91. data/lib/groupdocs_conversion_cloud/models/ost_load_options.rb +294 -0
  92. data/lib/groupdocs_conversion_cloud/models/otp_convert_options.rb +281 -0
  93. data/lib/groupdocs_conversion_cloud/models/otp_load_options.rb +266 -0
  94. data/lib/groupdocs_conversion_cloud/models/ots_convert_options.rb +296 -0
  95. data/lib/groupdocs_conversion_cloud/models/ots_load_options.rb +321 -0
  96. data/lib/groupdocs_conversion_cloud/models/ott_convert_options.rb +326 -0
  97. data/lib/groupdocs_conversion_cloud/models/ott_load_options.rb +281 -0
  98. data/lib/groupdocs_conversion_cloud/models/pdf_convert_options.rb +863 -0
  99. data/lib/groupdocs_conversion_cloud/models/pdf_load_options.rb +259 -0
  100. data/lib/groupdocs_conversion_cloud/models/plt_load_options.rb +246 -0
  101. data/lib/groupdocs_conversion_cloud/models/png_convert_options.rb +361 -0
  102. data/lib/groupdocs_conversion_cloud/models/png_load_options.rb +214 -0
  103. data/lib/groupdocs_conversion_cloud/models/potm_convert_options.rb +281 -0
  104. data/lib/groupdocs_conversion_cloud/models/potm_load_options.rb +266 -0
  105. data/lib/groupdocs_conversion_cloud/models/potx_convert_options.rb +281 -0
  106. data/lib/groupdocs_conversion_cloud/models/potx_load_options.rb +266 -0
  107. data/lib/groupdocs_conversion_cloud/models/pps_convert_options.rb +281 -0
  108. data/lib/groupdocs_conversion_cloud/models/pps_load_options.rb +266 -0
  109. data/lib/groupdocs_conversion_cloud/models/ppsm_convert_options.rb +281 -0
  110. data/lib/groupdocs_conversion_cloud/models/ppsm_load_options.rb +266 -0
  111. data/lib/groupdocs_conversion_cloud/models/ppsx_convert_options.rb +281 -0
  112. data/lib/groupdocs_conversion_cloud/models/ppsx_load_options.rb +266 -0
  113. data/lib/groupdocs_conversion_cloud/models/ppt_convert_options.rb +281 -0
  114. data/lib/groupdocs_conversion_cloud/models/ppt_load_options.rb +266 -0
  115. data/lib/groupdocs_conversion_cloud/models/pptm_convert_options.rb +281 -0
  116. data/lib/groupdocs_conversion_cloud/models/pptm_load_options.rb +266 -0
  117. data/lib/groupdocs_conversion_cloud/models/pptx_convert_options.rb +281 -0
  118. data/lib/groupdocs_conversion_cloud/models/pptx_load_options.rb +266 -0
  119. data/lib/groupdocs_conversion_cloud/models/presentation_convert_options.rb +281 -0
  120. data/lib/groupdocs_conversion_cloud/models/presentation_load_options.rb +266 -0
  121. data/lib/groupdocs_conversion_cloud/models/psd_convert_options.rb +489 -0
  122. data/lib/groupdocs_conversion_cloud/models/psd_load_options.rb +214 -0
  123. data/lib/groupdocs_conversion_cloud/models/pst_load_options.rb +294 -0
  124. data/lib/groupdocs_conversion_cloud/models/rtf_convert_options.rb +341 -0
  125. data/lib/groupdocs_conversion_cloud/models/spreadsheet_convert_options.rb +296 -0
  126. data/lib/groupdocs_conversion_cloud/models/spreadsheet_load_options.rb +321 -0
  127. data/lib/groupdocs_conversion_cloud/models/stl_load_options.rb +246 -0
  128. data/lib/groupdocs_conversion_cloud/models/storage_exist.rb +219 -0
  129. data/lib/groupdocs_conversion_cloud/models/storage_file.rb +264 -0
  130. data/lib/groupdocs_conversion_cloud/models/stored_converted_result.rb +249 -0
  131. data/lib/groupdocs_conversion_cloud/models/supported_format.rb +226 -0
  132. data/lib/groupdocs_conversion_cloud/models/svg_convert_options.rb +331 -0
  133. data/lib/groupdocs_conversion_cloud/models/tif_convert_options.rb +408 -0
  134. data/lib/groupdocs_conversion_cloud/models/tif_load_options.rb +214 -0
  135. data/lib/groupdocs_conversion_cloud/models/tiff_convert_options.rb +408 -0
  136. data/lib/groupdocs_conversion_cloud/models/tiff_load_options.rb +214 -0
  137. data/lib/groupdocs_conversion_cloud/models/tsv_convert_options.rb +296 -0
  138. data/lib/groupdocs_conversion_cloud/models/tsv_load_options.rb +321 -0
  139. data/lib/groupdocs_conversion_cloud/models/txt_convert_options.rb +246 -0
  140. data/lib/groupdocs_conversion_cloud/models/txt_load_options.rb +302 -0
  141. data/lib/groupdocs_conversion_cloud/models/vdw_load_options.rb +214 -0
  142. data/lib/groupdocs_conversion_cloud/models/vdx_load_options.rb +214 -0
  143. data/lib/groupdocs_conversion_cloud/models/vsd_load_options.rb +214 -0
  144. data/lib/groupdocs_conversion_cloud/models/vsdm_load_options.rb +214 -0
  145. data/lib/groupdocs_conversion_cloud/models/vsdx_load_options.rb +214 -0
  146. data/lib/groupdocs_conversion_cloud/models/vss_load_options.rb +214 -0
  147. data/lib/groupdocs_conversion_cloud/models/vssm_load_options.rb +214 -0
  148. data/lib/groupdocs_conversion_cloud/models/vssx_load_options.rb +214 -0
  149. data/lib/groupdocs_conversion_cloud/models/vst_load_options.rb +214 -0
  150. data/lib/groupdocs_conversion_cloud/models/vstm_load_options.rb +214 -0
  151. data/lib/groupdocs_conversion_cloud/models/vstx_load_options.rb +214 -0
  152. data/lib/groupdocs_conversion_cloud/models/vsx_load_options.rb +214 -0
  153. data/lib/groupdocs_conversion_cloud/models/vtx_load_options.rb +214 -0
  154. data/lib/groupdocs_conversion_cloud/models/watermark_options.rb +364 -0
  155. data/lib/groupdocs_conversion_cloud/models/webp_convert_options.rb +376 -0
  156. data/lib/groupdocs_conversion_cloud/models/webp_load_options.rb +214 -0
  157. data/lib/groupdocs_conversion_cloud/models/wmf_convert_options.rb +361 -0
  158. data/lib/groupdocs_conversion_cloud/models/wmf_load_options.rb +214 -0
  159. data/lib/groupdocs_conversion_cloud/models/word_processing_convert_options.rb +326 -0
  160. data/lib/groupdocs_conversion_cloud/models/word_processing_load_options.rb +281 -0
  161. data/lib/groupdocs_conversion_cloud/models/xls2003_convert_options.rb +296 -0
  162. data/lib/groupdocs_conversion_cloud/models/xls2003_load_options.rb +321 -0
  163. data/lib/groupdocs_conversion_cloud/models/xls_convert_options.rb +296 -0
  164. data/lib/groupdocs_conversion_cloud/models/xls_load_options.rb +321 -0
  165. data/lib/groupdocs_conversion_cloud/models/xlsb_convert_options.rb +296 -0
  166. data/lib/groupdocs_conversion_cloud/models/xlsb_load_options.rb +321 -0
  167. data/lib/groupdocs_conversion_cloud/models/xlsm_convert_options.rb +296 -0
  168. data/lib/groupdocs_conversion_cloud/models/xlsm_load_options.rb +321 -0
  169. data/lib/groupdocs_conversion_cloud/models/xlsx_convert_options.rb +296 -0
  170. data/lib/groupdocs_conversion_cloud/models/xlsx_load_options.rb +321 -0
  171. data/lib/groupdocs_conversion_cloud/models/xltm_convert_options.rb +296 -0
  172. data/lib/groupdocs_conversion_cloud/models/xltm_load_options.rb +321 -0
  173. data/lib/groupdocs_conversion_cloud/models/xltx_convert_options.rb +296 -0
  174. data/lib/groupdocs_conversion_cloud/models/xltx_load_options.rb +321 -0
  175. data/lib/groupdocs_conversion_cloud/models/xml_load_options.rb +230 -0
  176. data/lib/groupdocs_conversion_cloud/models/xps_convert_options.rb +386 -0
  177. data/lib/groupdocs_conversion_cloud/version.rb +29 -0
  178. metadata +288 -0
@@ -0,0 +1,489 @@
1
+ #
2
+ # --------------------------------------------------------------------------------------------------------------------
3
+ # <copyright company="Aspose Pty Ltd" file="psd_convert_options.rb">
4
+ # Copyright (c) 2003-2019 Aspose Pty Ltd
5
+ # </copyright>
6
+ # <summary>
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+ # </summary>
25
+ # --------------------------------------------------------------------------------------------------------------------
26
+ #
27
+
28
+ require 'date'
29
+
30
+ module GroupDocsConversionCloud
31
+ # Psd convert options
32
+ class PsdConvertOptions
33
+
34
+ # Start conversion from FromPage page
35
+ attr_accessor :from_page
36
+
37
+ # Number of pages to convert
38
+ attr_accessor :pages_count
39
+
40
+ # Convert specific pages. The list contains the page indexes of the pages to be converted
41
+ attr_accessor :pages
42
+
43
+ # Desired image width after conversion
44
+ attr_accessor :width
45
+
46
+ # Desired image height after conversion
47
+ attr_accessor :height
48
+
49
+ # Desired image horizontal resolution after conversion. The default resolution is the resolution of the input file or 96dpi
50
+ attr_accessor :horizontal_resolution
51
+
52
+ # Desired image vertical resolution after conversion. The default resolution is the resolution of the input file or 96dpi
53
+ attr_accessor :vertical_resolution
54
+
55
+ # Convert to grayscale image
56
+ attr_accessor :grayscale
57
+
58
+ # Image rotation angle
59
+ attr_accessor :rotate_angle
60
+
61
+ # If true, the input firstly is converted to PDF and after that to desired format
62
+ attr_accessor :use_pdf
63
+
64
+ # Watermark specific options
65
+ attr_accessor :watermark_options
66
+
67
+ # Bits count per color channel
68
+ attr_accessor :channel_bits_count
69
+
70
+ # Color channels count
71
+ attr_accessor :channels_count
72
+
73
+ # Psd color mode
74
+ attr_accessor :color_mode
75
+
76
+ # Psd compression method
77
+ attr_accessor :compression_method
78
+
79
+ # Psd file version
80
+ attr_accessor :version
81
+ class EnumAttributeValidator
82
+ attr_reader :datatype
83
+ attr_reader :allowable_values
84
+
85
+ def initialize(datatype, allowable_values)
86
+ @allowable_values = allowable_values.map do |value|
87
+ case datatype.to_s
88
+ when /Integer/i
89
+ value.to_i
90
+ when /Float/i
91
+ value.to_f
92
+ else
93
+ value
94
+ end
95
+ end
96
+ end
97
+
98
+ def valid?(value)
99
+ !value || allowable_values.include?(value)
100
+ end
101
+ end
102
+
103
+ # Attribute mapping from ruby-style variable name to JSON key.
104
+ def self.attribute_map
105
+ {
106
+ :'from_page' => :'FromPage',
107
+ :'pages_count' => :'PagesCount',
108
+ :'pages' => :'Pages',
109
+ :'width' => :'Width',
110
+ :'height' => :'Height',
111
+ :'horizontal_resolution' => :'HorizontalResolution',
112
+ :'vertical_resolution' => :'VerticalResolution',
113
+ :'grayscale' => :'Grayscale',
114
+ :'rotate_angle' => :'RotateAngle',
115
+ :'use_pdf' => :'UsePdf',
116
+ :'watermark_options' => :'WatermarkOptions',
117
+ :'channel_bits_count' => :'ChannelBitsCount',
118
+ :'channels_count' => :'ChannelsCount',
119
+ :'color_mode' => :'ColorMode',
120
+ :'compression_method' => :'CompressionMethod',
121
+ :'version' => :'Version'
122
+ }
123
+ end
124
+
125
+ # Attribute type mapping.
126
+ def self.swagger_types
127
+ {
128
+ :'from_page' => :'Integer',
129
+ :'pages_count' => :'Integer',
130
+ :'pages' => :'Array<Integer>',
131
+ :'width' => :'Integer',
132
+ :'height' => :'Integer',
133
+ :'horizontal_resolution' => :'Integer',
134
+ :'vertical_resolution' => :'Integer',
135
+ :'grayscale' => :'BOOLEAN',
136
+ :'rotate_angle' => :'Integer',
137
+ :'use_pdf' => :'BOOLEAN',
138
+ :'watermark_options' => :'WatermarkOptions',
139
+ :'channel_bits_count' => :'Integer',
140
+ :'channels_count' => :'Integer',
141
+ :'color_mode' => :'String',
142
+ :'compression_method' => :'String',
143
+ :'version' => :'Integer'
144
+ }
145
+ end
146
+
147
+ # Initializes the object
148
+ # @param [Hash] attributes Model attributes in the form of hash
149
+ def initialize(attributes = {})
150
+ return unless attributes.is_a?(Hash)
151
+
152
+ # convert string to symbol for hash key
153
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
154
+
155
+ if attributes.key?(:'FromPage')
156
+ self.from_page = attributes[:'FromPage']
157
+ end
158
+
159
+ if attributes.key?(:'PagesCount')
160
+ self.pages_count = attributes[:'PagesCount']
161
+ end
162
+
163
+ if attributes.key?(:'Pages')
164
+ if (value = attributes[:'Pages']).is_a?(Array)
165
+ self.pages = value
166
+ end
167
+ end
168
+
169
+ if attributes.key?(:'Width')
170
+ self.width = attributes[:'Width']
171
+ end
172
+
173
+ if attributes.key?(:'Height')
174
+ self.height = attributes[:'Height']
175
+ end
176
+
177
+ if attributes.key?(:'HorizontalResolution')
178
+ self.horizontal_resolution = attributes[:'HorizontalResolution']
179
+ end
180
+
181
+ if attributes.key?(:'VerticalResolution')
182
+ self.vertical_resolution = attributes[:'VerticalResolution']
183
+ end
184
+
185
+ if attributes.key?(:'Grayscale')
186
+ self.grayscale = attributes[:'Grayscale']
187
+ end
188
+
189
+ if attributes.key?(:'RotateAngle')
190
+ self.rotate_angle = attributes[:'RotateAngle']
191
+ end
192
+
193
+ if attributes.key?(:'UsePdf')
194
+ self.use_pdf = attributes[:'UsePdf']
195
+ end
196
+
197
+ if attributes.key?(:'WatermarkOptions')
198
+ self.watermark_options = attributes[:'WatermarkOptions']
199
+ end
200
+
201
+ if attributes.key?(:'ChannelBitsCount')
202
+ self.channel_bits_count = attributes[:'ChannelBitsCount']
203
+ end
204
+
205
+ if attributes.key?(:'ChannelsCount')
206
+ self.channels_count = attributes[:'ChannelsCount']
207
+ end
208
+
209
+ if attributes.key?(:'ColorMode')
210
+ self.color_mode = attributes[:'ColorMode']
211
+ end
212
+
213
+ if attributes.key?(:'CompressionMethod')
214
+ self.compression_method = attributes[:'CompressionMethod']
215
+ end
216
+
217
+ if attributes.key?(:'Version')
218
+ self.version = attributes[:'Version']
219
+ end
220
+
221
+ end
222
+
223
+ # Show invalid properties with the reasons. Usually used together with valid?
224
+ # @return Array for valid properies with the reasons
225
+ def list_invalid_properties
226
+ invalid_properties = []
227
+ if @from_page.nil?
228
+ invalid_properties.push("invalid value for 'from_page', from_page cannot be nil.")
229
+ end
230
+
231
+ if @pages_count.nil?
232
+ invalid_properties.push("invalid value for 'pages_count', pages_count cannot be nil.")
233
+ end
234
+
235
+ if @width.nil?
236
+ invalid_properties.push("invalid value for 'width', width cannot be nil.")
237
+ end
238
+
239
+ if @height.nil?
240
+ invalid_properties.push("invalid value for 'height', height cannot be nil.")
241
+ end
242
+
243
+ if @horizontal_resolution.nil?
244
+ invalid_properties.push("invalid value for 'horizontal_resolution', horizontal_resolution cannot be nil.")
245
+ end
246
+
247
+ if @vertical_resolution.nil?
248
+ invalid_properties.push("invalid value for 'vertical_resolution', vertical_resolution cannot be nil.")
249
+ end
250
+
251
+ if @grayscale.nil?
252
+ invalid_properties.push("invalid value for 'grayscale', grayscale cannot be nil.")
253
+ end
254
+
255
+ if @rotate_angle.nil?
256
+ invalid_properties.push("invalid value for 'rotate_angle', rotate_angle cannot be nil.")
257
+ end
258
+
259
+ if @use_pdf.nil?
260
+ invalid_properties.push("invalid value for 'use_pdf', use_pdf cannot be nil.")
261
+ end
262
+
263
+ if @channel_bits_count.nil?
264
+ invalid_properties.push("invalid value for 'channel_bits_count', channel_bits_count cannot be nil.")
265
+ end
266
+
267
+ if @channels_count.nil?
268
+ invalid_properties.push("invalid value for 'channels_count', channels_count cannot be nil.")
269
+ end
270
+
271
+ if @color_mode.nil?
272
+ invalid_properties.push("invalid value for 'color_mode', color_mode cannot be nil.")
273
+ end
274
+
275
+ if @compression_method.nil?
276
+ invalid_properties.push("invalid value for 'compression_method', compression_method cannot be nil.")
277
+ end
278
+
279
+ if @version.nil?
280
+ invalid_properties.push("invalid value for 'version', version cannot be nil.")
281
+ end
282
+
283
+ return invalid_properties
284
+ end
285
+
286
+ # Check to see if the all the properties in the model are valid
287
+ # @return true if the model is valid
288
+ def valid?
289
+ return false if @from_page.nil?
290
+ return false if @pages_count.nil?
291
+ return false if @width.nil?
292
+ return false if @height.nil?
293
+ return false if @horizontal_resolution.nil?
294
+ return false if @vertical_resolution.nil?
295
+ return false if @grayscale.nil?
296
+ return false if @rotate_angle.nil?
297
+ return false if @use_pdf.nil?
298
+ return false if @channel_bits_count.nil?
299
+ return false if @channels_count.nil?
300
+ return false if @color_mode.nil?
301
+ color_mode_validator = EnumAttributeValidator.new('String', ["Bitmap", "Grayscale", "Indexed", "Rgb", "Cmyk", "Multichannel", "Duotone", "Lab"])
302
+ return false unless color_mode_validator.valid?(@color_mode)
303
+ return false if @compression_method.nil?
304
+ compression_method_validator = EnumAttributeValidator.new('String', ["Raw", "Rle", "ZipWithoutPrediction", "ZipWithPrediction"])
305
+ return false unless compression_method_validator.valid?(@compression_method)
306
+ return false if @version.nil?
307
+ return true
308
+ end
309
+
310
+ # Custom attribute writer method checking allowed values (enum).
311
+ # @param [Object] color_mode Object to be assigned
312
+ def color_mode=(color_mode)
313
+ validator = EnumAttributeValidator.new('String', ["Bitmap", "Grayscale", "Indexed", "Rgb", "Cmyk", "Multichannel", "Duotone", "Lab"])
314
+ if color_mode.to_i == 0
315
+ unless validator.valid?(color_mode)
316
+ raise ArgumentError, "invalid value for 'color_mode', must be one of #{validator.allowable_values}."
317
+ end
318
+ @color_mode = color_mode
319
+ else
320
+ @color_mode = validator.allowable_values[color_mode.to_i]
321
+ end
322
+ end
323
+
324
+ # Custom attribute writer method checking allowed values (enum).
325
+ # @param [Object] compression_method Object to be assigned
326
+ def compression_method=(compression_method)
327
+ validator = EnumAttributeValidator.new('String', ["Raw", "Rle", "ZipWithoutPrediction", "ZipWithPrediction"])
328
+ if compression_method.to_i == 0
329
+ unless validator.valid?(compression_method)
330
+ raise ArgumentError, "invalid value for 'compression_method', must be one of #{validator.allowable_values}."
331
+ end
332
+ @compression_method = compression_method
333
+ else
334
+ @compression_method = validator.allowable_values[compression_method.to_i]
335
+ end
336
+ end
337
+
338
+ # Checks equality by comparing each attribute.
339
+ # @param [Object] Object to be compared
340
+ def ==(other)
341
+ return true if self.equal?(other)
342
+ self.class == other.class &&
343
+ from_page == other.from_page &&
344
+ pages_count == other.pages_count &&
345
+ pages == other.pages &&
346
+ width == other.width &&
347
+ height == other.height &&
348
+ horizontal_resolution == other.horizontal_resolution &&
349
+ vertical_resolution == other.vertical_resolution &&
350
+ grayscale == other.grayscale &&
351
+ rotate_angle == other.rotate_angle &&
352
+ use_pdf == other.use_pdf &&
353
+ watermark_options == other.watermark_options &&
354
+ channel_bits_count == other.channel_bits_count &&
355
+ channels_count == other.channels_count &&
356
+ color_mode == other.color_mode &&
357
+ compression_method == other.compression_method &&
358
+ version == other.version
359
+ end
360
+
361
+ # @see the `==` method
362
+ # @param [Object] Object to be compared
363
+ def eql?(other)
364
+ self == other
365
+ end
366
+
367
+ # Calculates hash code according to all attributes.
368
+ # @return [Fixnum] Hash code
369
+ def hash
370
+ [from_page, pages_count, pages, width, height, horizontal_resolution, vertical_resolution, grayscale, rotate_angle, use_pdf, watermark_options, channel_bits_count, channels_count, color_mode, compression_method, version].hash
371
+ end
372
+
373
+ # Downcases first letter.
374
+ # @return downcased string
375
+ def uncap(str)
376
+ str[0, 1].downcase + str[1..-1]
377
+ end
378
+
379
+ # Builds the object from hash
380
+ # @param [Hash] attributes Model attributes in the form of hash
381
+ # @return [Object] Returns the model itself
382
+ def build_from_hash(attributes)
383
+ return nil unless attributes.is_a?(Hash)
384
+ self.class.swagger_types.each_pair do |key, type|
385
+ pname = uncap(self.class.attribute_map[key]).intern
386
+ value = attributes[pname]
387
+ if type =~ /\AArray<(.*)>/i
388
+ # check to ensure the input is an array given that the the attribute
389
+ # is documented as an array but the input is not
390
+ if value.is_a?(Array)
391
+ self.send("#{key}=", value.map { |v| _deserialize($1, v) })
392
+ end
393
+ elsif !value.nil?
394
+ self.send("#{key}=", _deserialize(type, value))
395
+ end
396
+ # or else data not found in attributes(hash), not an issue as the data can be optional
397
+ end
398
+
399
+ self
400
+ end
401
+
402
+ # Deserializes the data based on type
403
+ # @param string type Data type
404
+ # @param string value Value to be deserialized
405
+ # @return [Object] Deserialized data
406
+ def _deserialize(type, value)
407
+ case type.to_sym
408
+ when :DateTime
409
+ Date.parse value
410
+ when :Date
411
+ Date.parse value
412
+ when :String
413
+ value.to_s
414
+ when :Integer
415
+ value.to_i
416
+ when :Float
417
+ value.to_f
418
+ when :BOOLEAN
419
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
420
+ true
421
+ else
422
+ false
423
+ end
424
+ when :Object
425
+ # generic object (usually a Hash), return directly
426
+ value
427
+ when /\AArray<(?<inner_type>.+)>\z/
428
+ inner_type = Regexp.last_match[:inner_type]
429
+ value.map { |v| _deserialize(inner_type, v) }
430
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
431
+ k_type = Regexp.last_match[:k_type]
432
+ v_type = Regexp.last_match[:v_type]
433
+ {}.tap do |hash|
434
+ value.each do |k, v|
435
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
436
+ end
437
+ end
438
+ else
439
+ # model
440
+ temp_model = GroupDocsConversionCloud.const_get(type).new
441
+ temp_model.build_from_hash(value)
442
+ end
443
+ end
444
+
445
+ # Returns the string representation of the object
446
+ # @return [String] String presentation of the object
447
+ def to_s
448
+ to_hash.to_s
449
+ end
450
+
451
+ # to_body is an alias to to_hash (backward compatibility)
452
+ # @return [Hash] Returns the object in the form of hash
453
+ def to_body
454
+ to_hash
455
+ end
456
+
457
+ # Returns the object in the form of hash
458
+ # @return [Hash] Returns the object in the form of hash
459
+ def to_hash
460
+ hash = {}
461
+ self.class.attribute_map.each_pair do |attr, param|
462
+ value = self.send(attr)
463
+ next if value.nil?
464
+ hash[param] = _to_hash(value)
465
+ end
466
+ hash
467
+ end
468
+
469
+ # Outputs non-array value in the form of hash
470
+ # For object, use to_hash. Otherwise, just return the value
471
+ # @param [Object] value Any valid value
472
+ # @return [Hash] Returns the value in the form of hash
473
+ def _to_hash(value)
474
+ if value.is_a?(Array)
475
+ value.compact.map { |v| _to_hash(v) }
476
+ elsif value.is_a?(Hash)
477
+ {}.tap do |hash|
478
+ value.each { |k, v| hash[k] = _to_hash(v) }
479
+ end
480
+ elsif value.respond_to? :to_hash
481
+ value.to_hash
482
+ else
483
+ value
484
+ end
485
+ end
486
+
487
+ end
488
+
489
+ end