aspose_imaging_cloud 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +61 -0
  4. data/aspose_imaging_cloud.gemspec +26 -0
  5. data/lib/aspose_imaging_cloud.rb +43 -0
  6. data/lib/aspose_imaging_cloud/api/imaging_api.rb +1776 -0
  7. data/lib/aspose_imaging_cloud/api_client.rb +335 -0
  8. data/lib/aspose_imaging_cloud/api_error.rb +24 -0
  9. data/lib/aspose_imaging_cloud/configuration.rb +166 -0
  10. data/lib/aspose_imaging_cloud/models/base_object.rb +86 -0
  11. data/lib/aspose_imaging_cloud/models/base_response.rb +53 -0
  12. data/lib/aspose_imaging_cloud/models/bmp_properties.rb +37 -0
  13. data/lib/aspose_imaging_cloud/models/exif_data.rb +855 -0
  14. data/lib/aspose_imaging_cloud/models/gif_properties.rb +53 -0
  15. data/lib/aspose_imaging_cloud/models/imaging_response.rb +149 -0
  16. data/lib/aspose_imaging_cloud/models/jfif_data.rb +61 -0
  17. data/lib/aspose_imaging_cloud/models/jpeg_exif_data.rb +991 -0
  18. data/lib/aspose_imaging_cloud/models/jpeg_properties.rb +53 -0
  19. data/lib/aspose_imaging_cloud/models/psd_properties.rb +61 -0
  20. data/lib/aspose_imaging_cloud/models/tiff_frame.rb +61 -0
  21. data/lib/aspose_imaging_cloud/models/tiff_options.rb +419 -0
  22. data/lib/aspose_imaging_cloud/models/tiff_properties.rb +55 -0
  23. data/lib/aspose_imaging_cloud/version.rb +3 -0
  24. data/test/data/TestDemo.tif +0 -0
  25. data/test/data/aspose.jpg +0 -0
  26. data/test/data/aspose_imaging_for_cloud.png +0 -0
  27. data/test/data/demo.tif +0 -0
  28. data/test/data/sample-multi.tif +0 -0
  29. data/test/data/sample.bmp +0 -0
  30. data/test/data/sample.gif +0 -0
  31. data/test/data/sample.psd +0 -0
  32. data/test/data/sample.tif +0 -0
  33. data/test/data/test.bmp +0 -0
  34. data/test/imaging_tests.rb +291 -0
  35. metadata +160 -0
@@ -0,0 +1,53 @@
1
+ module AsposeImagingCloud
2
+ #
3
+ class GifProperties < BaseObject
4
+ attr_accessor :background_color, :has_trailer, :pixel_aspect_ratio
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'background_color' => :'BackgroundColor',
11
+
12
+ #
13
+ :'has_trailer' => :'HasTrailer',
14
+
15
+ #
16
+ :'pixel_aspect_ratio' => :'PixelAspectRatio'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'background_color' => :'String',
25
+ :'has_trailer' => :'BOOLEAN',
26
+ :'pixel_aspect_ratio' => :'String'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if !attributes.is_a?(Hash) || attributes.empty?
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'BackgroundColor']
39
+ self.background_color = attributes[:'BackgroundColor']
40
+ end
41
+
42
+ if attributes[:'HasTrailer']
43
+ self.has_trailer = attributes[:'HasTrailer']
44
+ end
45
+
46
+ if attributes[:'PixelAspectRatio']
47
+ self.pixel_aspect_ratio = attributes[:'PixelAspectRatio']
48
+ end
49
+
50
+ end
51
+
52
+ end
53
+ end
@@ -0,0 +1,149 @@
1
+ module AsposeImagingCloud
2
+ #
3
+ class ImagingResponse < BaseObject
4
+ attr_accessor :height, :width, :bits_per_pixel, :bmp_properties, :gif_properties, :jpeg_properties, :png_properties, :tiff_properties, :psd_properties, :horizontal_resolution, :vertical_resolution, :is_cached, :status, :code
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'height' => :'Height',
11
+
12
+ #
13
+ :'width' => :'Width',
14
+
15
+ #
16
+ :'bits_per_pixel' => :'BitsPerPixel',
17
+
18
+ #
19
+ :'bmp_properties' => :'BmpProperties',
20
+
21
+ #
22
+ :'gif_properties' => :'GifProperties',
23
+
24
+ #
25
+ :'jpeg_properties' => :'JpegProperties',
26
+
27
+ #
28
+ :'png_properties' => :'PngProperties',
29
+
30
+ #
31
+ :'tiff_properties' => :'TiffProperties',
32
+
33
+ #
34
+ :'psd_properties' => :'PsdProperties',
35
+
36
+ #
37
+ :'horizontal_resolution' => :'HorizontalResolution',
38
+
39
+ #
40
+ :'vertical_resolution' => :'VerticalResolution',
41
+
42
+ #
43
+ :'is_cached' => :'IsCached',
44
+
45
+ #
46
+ :'status' => :'Status',
47
+
48
+ #
49
+ :'code' => :'Code'
50
+
51
+ }
52
+ end
53
+
54
+ # attribute type
55
+ def self.swagger_types
56
+ {
57
+ :'height' => :'Integer',
58
+ :'width' => :'Integer',
59
+ :'bits_per_pixel' => :'Integer',
60
+ :'bmp_properties' => :'BmpProperties',
61
+ :'gif_properties' => :'GifProperties',
62
+ :'jpeg_properties' => :'JpegProperties',
63
+ :'png_properties' => :'PngProperties',
64
+ :'tiff_properties' => :'TiffProperties',
65
+ :'psd_properties' => :'PsdProperties',
66
+ :'horizontal_resolution' => :'Float',
67
+ :'vertical_resolution' => :'Float',
68
+ :'is_cached' => :'BOOLEAN',
69
+ :'status' => :'String',
70
+ :'code' => :'String'
71
+
72
+ }
73
+ end
74
+
75
+ def initialize(attributes = {})
76
+ return if !attributes.is_a?(Hash) || attributes.empty?
77
+
78
+ # convert string to symbol for hash key
79
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
80
+
81
+
82
+ if attributes[:'Height']
83
+ self.height = attributes[:'Height']
84
+ end
85
+
86
+ if attributes[:'Width']
87
+ self.width = attributes[:'Width']
88
+ end
89
+
90
+ if attributes[:'BitsPerPixel']
91
+ self.bits_per_pixel = attributes[:'BitsPerPixel']
92
+ end
93
+
94
+ if attributes[:'BmpProperties']
95
+ self.bmp_properties = attributes[:'BmpProperties']
96
+ end
97
+
98
+ if attributes[:'GifProperties']
99
+ self.gif_properties = attributes[:'GifProperties']
100
+ end
101
+
102
+ if attributes[:'JpegProperties']
103
+ self.jpeg_properties = attributes[:'JpegProperties']
104
+ end
105
+
106
+ if attributes[:'PngProperties']
107
+ self.png_properties = attributes[:'PngProperties']
108
+ end
109
+
110
+ if attributes[:'TiffProperties']
111
+ self.tiff_properties = attributes[:'TiffProperties']
112
+ end
113
+
114
+ if attributes[:'PsdProperties']
115
+ self.psd_properties = attributes[:'PsdProperties']
116
+ end
117
+
118
+ if attributes[:'HorizontalResolution']
119
+ self.horizontal_resolution = attributes[:'HorizontalResolution']
120
+ end
121
+
122
+ if attributes[:'VerticalResolution']
123
+ self.vertical_resolution = attributes[:'VerticalResolution']
124
+ end
125
+
126
+ if attributes[:'IsCached']
127
+ self.is_cached = attributes[:'IsCached']
128
+ end
129
+
130
+ if attributes[:'Status']
131
+ self.status = attributes[:'Status']
132
+ end
133
+
134
+ if attributes[:'Code']
135
+ self.code = attributes[:'Code']
136
+ end
137
+
138
+ end
139
+
140
+ def status=(status)
141
+ allowed_values = ["Continue", "SwitchingProtocols", "OK", "Created", "Accepted", "NonAuthoritativeInformation", "NoContent", "ResetContent", "PartialContent", "MultipleChoices", "Ambiguous", "MovedPermanently", "Moved", "Found", "Redirect", "SeeOther", "RedirectMethod", "NotModified", "UseProxy", "Unused", "TemporaryRedirect", "RedirectKeepVerb", "BadRequest", "Unauthorized", "PaymentRequired", "Forbidden", "NotFound", "MethodNotAllowed", "NotAcceptable", "ProxyAuthenticationRequired", "RequestTimeout", "Conflict", "Gone", "LengthRequired", "PreconditionFailed", "RequestEntityTooLarge", "RequestUriTooLong", "UnsupportedMediaType", "RequestedRangeNotSatisfiable", "ExpectationFailed", "UpgradeRequired", "InternalServerError", "NotImplemented", "BadGateway", "ServiceUnavailable", "GatewayTimeout", "HttpVersionNotSupported"]
142
+ if status && !allowed_values.include?(status)
143
+ fail "invalid value for 'status', must be one of #{allowed_values}"
144
+ end
145
+ @status = status
146
+ end
147
+
148
+ end
149
+ end
@@ -0,0 +1,61 @@
1
+ module AsposeImagingCloud
2
+ #
3
+ class JfifData < BaseObject
4
+ attr_accessor :density_units, :version, :x_density, :y_density
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'density_units' => :'DensityUnits',
11
+
12
+ #
13
+ :'version' => :'Version',
14
+
15
+ #
16
+ :'x_density' => :'XDensity',
17
+
18
+ #
19
+ :'y_density' => :'YDensity'
20
+
21
+ }
22
+ end
23
+
24
+ # attribute type
25
+ def self.swagger_types
26
+ {
27
+ :'density_units' => :'String',
28
+ :'version' => :'Integer',
29
+ :'x_density' => :'Integer',
30
+ :'y_density' => :'Integer'
31
+
32
+ }
33
+ end
34
+
35
+ def initialize(attributes = {})
36
+ return if !attributes.is_a?(Hash) || attributes.empty?
37
+
38
+ # convert string to symbol for hash key
39
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
40
+
41
+
42
+ if attributes[:'DensityUnits']
43
+ self.density_units = attributes[:'DensityUnits']
44
+ end
45
+
46
+ if attributes[:'Version']
47
+ self.version = attributes[:'Version']
48
+ end
49
+
50
+ if attributes[:'XDensity']
51
+ self.x_density = attributes[:'XDensity']
52
+ end
53
+
54
+ if attributes[:'YDensity']
55
+ self.y_density = attributes[:'YDensity']
56
+ end
57
+
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,991 @@
1
+ module AsposeImagingCloud
2
+ #
3
+ class JpegExifData < BaseObject
4
+ attr_accessor :artist, :copyright, :date_time, :image_description, :make, :model, :orientation, :primary_chromaticities, :reference_black_white, :resolution_unit, :software, :transfer_function, :x_resolution, :y_cb_cr_coefficients, :y_cb_cr_positioning, :y_resolution, :aperture_value, :body_serial_number, :brightness_value, :cfa_pattern, :camera_owner_name, :color_space, :components_configuration, :compressed_bits_per_pixel, :contrast, :custom_rendered, :date_time_digitized, :date_time_original, :device_setting_description, :digital_zoom_ratio, :exif_version, :exposure_bias_value, :exposure_index, :exposure_mode, :exposure_program, :exposure_time, :f_number, :file_source, :flash, :flash_energy, :flashpix_version, :focal_length, :focal_length_in35_mm_film, :focal_plane_resolution_unit, :focal_plane_x_resolution, :focal_plane_y_resolution, :gps_altitude, :gps_altitude_ref, :gps_area_information, :gpsdop, :gps_dest_bearing, :gps_dest_bearing_ref, :gps_dest_distance, :gps_dest_distance_ref, :gps_dest_latitude, :gps_dest_latitude_ref, :gps_dest_longitude, :gps_dest_longitude_ref, :gps_differential, :gps_img_direction, :gps_img_direction_ref, :gps_date_stamp, :gps_latitude, :gps_latitude_ref, :gps_longitude, :gps_longitude_ref, :gps_map_datum, :gps_measure_mode, :gps_processing_method, :gps_satellites, :gps_speed, :gps_speed_ref, :gps_status, :gps_timestamp, :gps_track, :gps_track_ref, :gps_version_id, :gain_control, :gamma, :iso_speed, :iso_speed_latitude_yyy, :iso_speed_latitude_zzz, :photographic_sensitivity, :image_unique_id, :lens_make, :lens_model, :lens_serial_number, :lens_specification, :light_source, :maker_note_raw_data, :max_aperture_value, :metering_mode, :oecf, :pixel_x_dimension, :pixel_y_dimension, :recommended_exposure_index, :related_sound_file, :saturation, :scene_capture_type, :scene_type, :sensing_method, :sensitivity_type, :sharpness, :shutter_speed_value, :spatial_frequency_response, :spectral_sensitivity, :standard_output_sensitivity, :subject_area, :subject_distance, :subject_distance_range, :subject_location, :subsec_time, :subsec_time_digitized, :subsec_time_original, :user_comment, :white_balance, :white_point
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'artist' => :'Artist',
11
+
12
+ #
13
+ :'copyright' => :'Copyright',
14
+
15
+ #
16
+ :'date_time' => :'DateTime',
17
+
18
+ #
19
+ :'image_description' => :'ImageDescription',
20
+
21
+ #
22
+ :'make' => :'Make',
23
+
24
+ #
25
+ :'model' => :'Model',
26
+
27
+ #
28
+ :'orientation' => :'Orientation',
29
+
30
+ #
31
+ :'primary_chromaticities' => :'PrimaryChromaticities',
32
+
33
+ #
34
+ :'reference_black_white' => :'ReferenceBlackWhite',
35
+
36
+ #
37
+ :'resolution_unit' => :'ResolutionUnit',
38
+
39
+ #
40
+ :'software' => :'Software',
41
+
42
+ #
43
+ :'transfer_function' => :'TransferFunction',
44
+
45
+ #
46
+ :'x_resolution' => :'XResolution',
47
+
48
+ #
49
+ :'y_cb_cr_coefficients' => :'YCbCrCoefficients',
50
+
51
+ #
52
+ :'y_cb_cr_positioning' => :'YCbCrPositioning',
53
+
54
+ #
55
+ :'y_resolution' => :'YResolution',
56
+
57
+ #
58
+ :'aperture_value' => :'ApertureValue',
59
+
60
+ #
61
+ :'body_serial_number' => :'BodySerialNumber',
62
+
63
+ #
64
+ :'brightness_value' => :'BrightnessValue',
65
+
66
+ #
67
+ :'cfa_pattern' => :'CFAPattern',
68
+
69
+ #
70
+ :'camera_owner_name' => :'CameraOwnerName',
71
+
72
+ #
73
+ :'color_space' => :'ColorSpace',
74
+
75
+ #
76
+ :'components_configuration' => :'ComponentsConfiguration',
77
+
78
+ #
79
+ :'compressed_bits_per_pixel' => :'CompressedBitsPerPixel',
80
+
81
+ #
82
+ :'contrast' => :'Contrast',
83
+
84
+ #
85
+ :'custom_rendered' => :'CustomRendered',
86
+
87
+ #
88
+ :'date_time_digitized' => :'DateTimeDigitized',
89
+
90
+ #
91
+ :'date_time_original' => :'DateTimeOriginal',
92
+
93
+ #
94
+ :'device_setting_description' => :'DeviceSettingDescription',
95
+
96
+ #
97
+ :'digital_zoom_ratio' => :'DigitalZoomRatio',
98
+
99
+ #
100
+ :'exif_version' => :'ExifVersion',
101
+
102
+ #
103
+ :'exposure_bias_value' => :'ExposureBiasValue',
104
+
105
+ #
106
+ :'exposure_index' => :'ExposureIndex',
107
+
108
+ #
109
+ :'exposure_mode' => :'ExposureMode',
110
+
111
+ #
112
+ :'exposure_program' => :'ExposureProgram',
113
+
114
+ #
115
+ :'exposure_time' => :'ExposureTime',
116
+
117
+ #
118
+ :'f_number' => :'FNumber',
119
+
120
+ #
121
+ :'file_source' => :'FileSource',
122
+
123
+ #
124
+ :'flash' => :'Flash',
125
+
126
+ #
127
+ :'flash_energy' => :'FlashEnergy',
128
+
129
+ #
130
+ :'flashpix_version' => :'FlashpixVersion',
131
+
132
+ #
133
+ :'focal_length' => :'FocalLength',
134
+
135
+ #
136
+ :'focal_length_in35_mm_film' => :'FocalLengthIn35MmFilm',
137
+
138
+ #
139
+ :'focal_plane_resolution_unit' => :'FocalPlaneResolutionUnit',
140
+
141
+ #
142
+ :'focal_plane_x_resolution' => :'FocalPlaneXResolution',
143
+
144
+ #
145
+ :'focal_plane_y_resolution' => :'FocalPlaneYResolution',
146
+
147
+ #
148
+ :'gps_altitude' => :'GPSAltitude',
149
+
150
+ #
151
+ :'gps_altitude_ref' => :'GPSAltitudeRef',
152
+
153
+ #
154
+ :'gps_area_information' => :'GPSAreaInformation',
155
+
156
+ #
157
+ :'gpsdop' => :'GPSDOP',
158
+
159
+ #
160
+ :'gps_dest_bearing' => :'GPSDestBearing',
161
+
162
+ #
163
+ :'gps_dest_bearing_ref' => :'GPSDestBearingRef',
164
+
165
+ #
166
+ :'gps_dest_distance' => :'GPSDestDistance',
167
+
168
+ #
169
+ :'gps_dest_distance_ref' => :'GPSDestDistanceRef',
170
+
171
+ #
172
+ :'gps_dest_latitude' => :'GPSDestLatitude',
173
+
174
+ #
175
+ :'gps_dest_latitude_ref' => :'GPSDestLatitudeRef',
176
+
177
+ #
178
+ :'gps_dest_longitude' => :'GPSDestLongitude',
179
+
180
+ #
181
+ :'gps_dest_longitude_ref' => :'GPSDestLongitudeRef',
182
+
183
+ #
184
+ :'gps_differential' => :'GPSDifferential',
185
+
186
+ #
187
+ :'gps_img_direction' => :'GPSImgDirection',
188
+
189
+ #
190
+ :'gps_img_direction_ref' => :'GPSImgDirectionRef',
191
+
192
+ #
193
+ :'gps_date_stamp' => :'GPSDateStamp',
194
+
195
+ #
196
+ :'gps_latitude' => :'GPSLatitude',
197
+
198
+ #
199
+ :'gps_latitude_ref' => :'GPSLatitudeRef',
200
+
201
+ #
202
+ :'gps_longitude' => :'GPSLongitude',
203
+
204
+ #
205
+ :'gps_longitude_ref' => :'GPSLongitudeRef',
206
+
207
+ #
208
+ :'gps_map_datum' => :'GPSMapDatum',
209
+
210
+ #
211
+ :'gps_measure_mode' => :'GPSMeasureMode',
212
+
213
+ #
214
+ :'gps_processing_method' => :'GPSProcessingMethod',
215
+
216
+ #
217
+ :'gps_satellites' => :'GPSSatellites',
218
+
219
+ #
220
+ :'gps_speed' => :'GPSSpeed',
221
+
222
+ #
223
+ :'gps_speed_ref' => :'GPSSpeedRef',
224
+
225
+ #
226
+ :'gps_status' => :'GPSStatus',
227
+
228
+ #
229
+ :'gps_timestamp' => :'GPSTimestamp',
230
+
231
+ #
232
+ :'gps_track' => :'GPSTrack',
233
+
234
+ #
235
+ :'gps_track_ref' => :'GPSTrackRef',
236
+
237
+ #
238
+ :'gps_version_id' => :'GPSVersionID',
239
+
240
+ #
241
+ :'gain_control' => :'GainControl',
242
+
243
+ #
244
+ :'gamma' => :'Gamma',
245
+
246
+ #
247
+ :'iso_speed' => :'ISOSpeed',
248
+
249
+ #
250
+ :'iso_speed_latitude_yyy' => :'ISOSpeedLatitudeYYY',
251
+
252
+ #
253
+ :'iso_speed_latitude_zzz' => :'ISOSpeedLatitudeZZZ',
254
+
255
+ #
256
+ :'photographic_sensitivity' => :'PhotographicSensitivity',
257
+
258
+ #
259
+ :'image_unique_id' => :'ImageUniqueID',
260
+
261
+ #
262
+ :'lens_make' => :'LensMake',
263
+
264
+ #
265
+ :'lens_model' => :'LensModel',
266
+
267
+ #
268
+ :'lens_serial_number' => :'LensSerialNumber',
269
+
270
+ #
271
+ :'lens_specification' => :'LensSpecification',
272
+
273
+ #
274
+ :'light_source' => :'LightSource',
275
+
276
+ #
277
+ :'maker_note_raw_data' => :'MakerNoteRawData',
278
+
279
+ #
280
+ :'max_aperture_value' => :'MaxApertureValue',
281
+
282
+ #
283
+ :'metering_mode' => :'MeteringMode',
284
+
285
+ #
286
+ :'oecf' => :'OECF',
287
+
288
+ #
289
+ :'pixel_x_dimension' => :'PixelXDimension',
290
+
291
+ #
292
+ :'pixel_y_dimension' => :'PixelYDimension',
293
+
294
+ #
295
+ :'recommended_exposure_index' => :'RecommendedExposureIndex',
296
+
297
+ #
298
+ :'related_sound_file' => :'RelatedSoundFile',
299
+
300
+ #
301
+ :'saturation' => :'Saturation',
302
+
303
+ #
304
+ :'scene_capture_type' => :'SceneCaptureType',
305
+
306
+ #
307
+ :'scene_type' => :'SceneType',
308
+
309
+ #
310
+ :'sensing_method' => :'SensingMethod',
311
+
312
+ #
313
+ :'sensitivity_type' => :'SensitivityType',
314
+
315
+ #
316
+ :'sharpness' => :'Sharpness',
317
+
318
+ #
319
+ :'shutter_speed_value' => :'ShutterSpeedValue',
320
+
321
+ #
322
+ :'spatial_frequency_response' => :'SpatialFrequencyResponse',
323
+
324
+ #
325
+ :'spectral_sensitivity' => :'SpectralSensitivity',
326
+
327
+ #
328
+ :'standard_output_sensitivity' => :'StandardOutputSensitivity',
329
+
330
+ #
331
+ :'subject_area' => :'SubjectArea',
332
+
333
+ #
334
+ :'subject_distance' => :'SubjectDistance',
335
+
336
+ #
337
+ :'subject_distance_range' => :'SubjectDistanceRange',
338
+
339
+ #
340
+ :'subject_location' => :'SubjectLocation',
341
+
342
+ #
343
+ :'subsec_time' => :'SubsecTime',
344
+
345
+ #
346
+ :'subsec_time_digitized' => :'SubsecTimeDigitized',
347
+
348
+ #
349
+ :'subsec_time_original' => :'SubsecTimeOriginal',
350
+
351
+ #
352
+ :'user_comment' => :'UserComment',
353
+
354
+ #
355
+ :'white_balance' => :'WhiteBalance',
356
+
357
+ #
358
+ :'white_point' => :'WhitePoint'
359
+
360
+ }
361
+ end
362
+
363
+ # attribute type
364
+ def self.swagger_types
365
+ {
366
+ :'artist' => :'String',
367
+ :'copyright' => :'String',
368
+ :'date_time' => :'String',
369
+ :'image_description' => :'String',
370
+ :'make' => :'String',
371
+ :'model' => :'String',
372
+ :'orientation' => :'String',
373
+ :'primary_chromaticities' => :'Array<Float>',
374
+ :'reference_black_white' => :'Array<Float>',
375
+ :'resolution_unit' => :'String',
376
+ :'software' => :'String',
377
+ :'transfer_function' => :'Array<Integer>',
378
+ :'x_resolution' => :'Float',
379
+ :'y_cb_cr_coefficients' => :'Array<Float>',
380
+ :'y_cb_cr_positioning' => :'String',
381
+ :'y_resolution' => :'Float',
382
+ :'aperture_value' => :'Float',
383
+ :'body_serial_number' => :'String',
384
+ :'brightness_value' => :'Float',
385
+ :'cfa_pattern' => :'String',
386
+ :'camera_owner_name' => :'String',
387
+ :'color_space' => :'String',
388
+ :'components_configuration' => :'String',
389
+ :'compressed_bits_per_pixel' => :'Float',
390
+ :'contrast' => :'String',
391
+ :'custom_rendered' => :'String',
392
+ :'date_time_digitized' => :'String',
393
+ :'date_time_original' => :'String',
394
+ :'device_setting_description' => :'String',
395
+ :'digital_zoom_ratio' => :'Float',
396
+ :'exif_version' => :'String',
397
+ :'exposure_bias_value' => :'Float',
398
+ :'exposure_index' => :'Float',
399
+ :'exposure_mode' => :'String',
400
+ :'exposure_program' => :'String',
401
+ :'exposure_time' => :'Float',
402
+ :'f_number' => :'Float',
403
+ :'file_source' => :'String',
404
+ :'flash' => :'String',
405
+ :'flash_energy' => :'Float',
406
+ :'flashpix_version' => :'String',
407
+ :'focal_length' => :'Float',
408
+ :'focal_length_in35_mm_film' => :'Integer',
409
+ :'focal_plane_resolution_unit' => :'String',
410
+ :'focal_plane_x_resolution' => :'Float',
411
+ :'focal_plane_y_resolution' => :'Float',
412
+ :'gps_altitude' => :'Float',
413
+ :'gps_altitude_ref' => :'String',
414
+ :'gps_area_information' => :'String',
415
+ :'gpsdop' => :'Float',
416
+ :'gps_dest_bearing' => :'Float',
417
+ :'gps_dest_bearing_ref' => :'String',
418
+ :'gps_dest_distance' => :'Float',
419
+ :'gps_dest_distance_ref' => :'String',
420
+ :'gps_dest_latitude' => :'Array<Float>',
421
+ :'gps_dest_latitude_ref' => :'String',
422
+ :'gps_dest_longitude' => :'Array<Float>',
423
+ :'gps_dest_longitude_ref' => :'String',
424
+ :'gps_differential' => :'Integer',
425
+ :'gps_img_direction' => :'Float',
426
+ :'gps_img_direction_ref' => :'String',
427
+ :'gps_date_stamp' => :'String',
428
+ :'gps_latitude' => :'Array<Float>',
429
+ :'gps_latitude_ref' => :'String',
430
+ :'gps_longitude' => :'Array<Float>',
431
+ :'gps_longitude_ref' => :'String',
432
+ :'gps_map_datum' => :'String',
433
+ :'gps_measure_mode' => :'String',
434
+ :'gps_processing_method' => :'String',
435
+ :'gps_satellites' => :'String',
436
+ :'gps_speed' => :'Float',
437
+ :'gps_speed_ref' => :'String',
438
+ :'gps_status' => :'String',
439
+ :'gps_timestamp' => :'Array<Float>',
440
+ :'gps_track' => :'String',
441
+ :'gps_track_ref' => :'String',
442
+ :'gps_version_id' => :'String',
443
+ :'gain_control' => :'String',
444
+ :'gamma' => :'Float',
445
+ :'iso_speed' => :'Integer',
446
+ :'iso_speed_latitude_yyy' => :'Integer',
447
+ :'iso_speed_latitude_zzz' => :'Integer',
448
+ :'photographic_sensitivity' => :'Integer',
449
+ :'image_unique_id' => :'String',
450
+ :'lens_make' => :'String',
451
+ :'lens_model' => :'String',
452
+ :'lens_serial_number' => :'String',
453
+ :'lens_specification' => :'Array<Float>',
454
+ :'light_source' => :'String',
455
+ :'maker_note_raw_data' => :'String',
456
+ :'max_aperture_value' => :'Float',
457
+ :'metering_mode' => :'String',
458
+ :'oecf' => :'String',
459
+ :'pixel_x_dimension' => :'Integer',
460
+ :'pixel_y_dimension' => :'Integer',
461
+ :'recommended_exposure_index' => :'Integer',
462
+ :'related_sound_file' => :'String',
463
+ :'saturation' => :'String',
464
+ :'scene_capture_type' => :'String',
465
+ :'scene_type' => :'String',
466
+ :'sensing_method' => :'String',
467
+ :'sensitivity_type' => :'Integer',
468
+ :'sharpness' => :'Integer',
469
+ :'shutter_speed_value' => :'Float',
470
+ :'spatial_frequency_response' => :'String',
471
+ :'spectral_sensitivity' => :'String',
472
+ :'standard_output_sensitivity' => :'Integer',
473
+ :'subject_area' => :'Array<Integer>',
474
+ :'subject_distance' => :'Float',
475
+ :'subject_distance_range' => :'String',
476
+ :'subject_location' => :'Array<Integer>',
477
+ :'subsec_time' => :'String',
478
+ :'subsec_time_digitized' => :'String',
479
+ :'subsec_time_original' => :'String',
480
+ :'user_comment' => :'String',
481
+ :'white_balance' => :'String',
482
+ :'white_point' => :'Array<Float>'
483
+
484
+ }
485
+ end
486
+
487
+ def initialize(attributes = {})
488
+ return if !attributes.is_a?(Hash) || attributes.empty?
489
+
490
+ # convert string to symbol for hash key
491
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
492
+
493
+
494
+ if attributes[:'Artist']
495
+ self.artist = attributes[:'Artist']
496
+ end
497
+
498
+ if attributes[:'Copyright']
499
+ self.copyright = attributes[:'Copyright']
500
+ end
501
+
502
+ if attributes[:'DateTime']
503
+ self.date_time = attributes[:'DateTime']
504
+ end
505
+
506
+ if attributes[:'ImageDescription']
507
+ self.image_description = attributes[:'ImageDescription']
508
+ end
509
+
510
+ if attributes[:'Make']
511
+ self.make = attributes[:'Make']
512
+ end
513
+
514
+ if attributes[:'Model']
515
+ self.model = attributes[:'Model']
516
+ end
517
+
518
+ if attributes[:'Orientation']
519
+ self.orientation = attributes[:'Orientation']
520
+ end
521
+
522
+ if attributes[:'PrimaryChromaticities']
523
+ if (value = attributes[:'PrimaryChromaticities']).is_a?(Array)
524
+ self.primary_chromaticities = value
525
+ end
526
+ end
527
+
528
+ if attributes[:'ReferenceBlackWhite']
529
+ if (value = attributes[:'ReferenceBlackWhite']).is_a?(Array)
530
+ self.reference_black_white = value
531
+ end
532
+ end
533
+
534
+ if attributes[:'ResolutionUnit']
535
+ self.resolution_unit = attributes[:'ResolutionUnit']
536
+ end
537
+
538
+ if attributes[:'Software']
539
+ self.software = attributes[:'Software']
540
+ end
541
+
542
+ if attributes[:'TransferFunction']
543
+ if (value = attributes[:'TransferFunction']).is_a?(Array)
544
+ self.transfer_function = value
545
+ end
546
+ end
547
+
548
+ if attributes[:'XResolution']
549
+ self.x_resolution = attributes[:'XResolution']
550
+ end
551
+
552
+ if attributes[:'YCbCrCoefficients']
553
+ if (value = attributes[:'YCbCrCoefficients']).is_a?(Array)
554
+ self.y_cb_cr_coefficients = value
555
+ end
556
+ end
557
+
558
+ if attributes[:'YCbCrPositioning']
559
+ self.y_cb_cr_positioning = attributes[:'YCbCrPositioning']
560
+ end
561
+
562
+ if attributes[:'YResolution']
563
+ self.y_resolution = attributes[:'YResolution']
564
+ end
565
+
566
+ if attributes[:'ApertureValue']
567
+ self.aperture_value = attributes[:'ApertureValue']
568
+ end
569
+
570
+ if attributes[:'BodySerialNumber']
571
+ self.body_serial_number = attributes[:'BodySerialNumber']
572
+ end
573
+
574
+ if attributes[:'BrightnessValue']
575
+ self.brightness_value = attributes[:'BrightnessValue']
576
+ end
577
+
578
+ if attributes[:'CFAPattern']
579
+ self.cfa_pattern = attributes[:'CFAPattern']
580
+ end
581
+
582
+ if attributes[:'CameraOwnerName']
583
+ self.camera_owner_name = attributes[:'CameraOwnerName']
584
+ end
585
+
586
+ if attributes[:'ColorSpace']
587
+ self.color_space = attributes[:'ColorSpace']
588
+ end
589
+
590
+ if attributes[:'ComponentsConfiguration']
591
+ self.components_configuration = attributes[:'ComponentsConfiguration']
592
+ end
593
+
594
+ if attributes[:'CompressedBitsPerPixel']
595
+ self.compressed_bits_per_pixel = attributes[:'CompressedBitsPerPixel']
596
+ end
597
+
598
+ if attributes[:'Contrast']
599
+ self.contrast = attributes[:'Contrast']
600
+ end
601
+
602
+ if attributes[:'CustomRendered']
603
+ self.custom_rendered = attributes[:'CustomRendered']
604
+ end
605
+
606
+ if attributes[:'DateTimeDigitized']
607
+ self.date_time_digitized = attributes[:'DateTimeDigitized']
608
+ end
609
+
610
+ if attributes[:'DateTimeOriginal']
611
+ self.date_time_original = attributes[:'DateTimeOriginal']
612
+ end
613
+
614
+ if attributes[:'DeviceSettingDescription']
615
+ self.device_setting_description = attributes[:'DeviceSettingDescription']
616
+ end
617
+
618
+ if attributes[:'DigitalZoomRatio']
619
+ self.digital_zoom_ratio = attributes[:'DigitalZoomRatio']
620
+ end
621
+
622
+ if attributes[:'ExifVersion']
623
+ self.exif_version = attributes[:'ExifVersion']
624
+ end
625
+
626
+ if attributes[:'ExposureBiasValue']
627
+ self.exposure_bias_value = attributes[:'ExposureBiasValue']
628
+ end
629
+
630
+ if attributes[:'ExposureIndex']
631
+ self.exposure_index = attributes[:'ExposureIndex']
632
+ end
633
+
634
+ if attributes[:'ExposureMode']
635
+ self.exposure_mode = attributes[:'ExposureMode']
636
+ end
637
+
638
+ if attributes[:'ExposureProgram']
639
+ self.exposure_program = attributes[:'ExposureProgram']
640
+ end
641
+
642
+ if attributes[:'ExposureTime']
643
+ self.exposure_time = attributes[:'ExposureTime']
644
+ end
645
+
646
+ if attributes[:'FNumber']
647
+ self.f_number = attributes[:'FNumber']
648
+ end
649
+
650
+ if attributes[:'FileSource']
651
+ self.file_source = attributes[:'FileSource']
652
+ end
653
+
654
+ if attributes[:'Flash']
655
+ self.flash = attributes[:'Flash']
656
+ end
657
+
658
+ if attributes[:'FlashEnergy']
659
+ self.flash_energy = attributes[:'FlashEnergy']
660
+ end
661
+
662
+ if attributes[:'FlashpixVersion']
663
+ self.flashpix_version = attributes[:'FlashpixVersion']
664
+ end
665
+
666
+ if attributes[:'FocalLength']
667
+ self.focal_length = attributes[:'FocalLength']
668
+ end
669
+
670
+ if attributes[:'FocalLengthIn35MmFilm']
671
+ self.focal_length_in35_mm_film = attributes[:'FocalLengthIn35MmFilm']
672
+ end
673
+
674
+ if attributes[:'FocalPlaneResolutionUnit']
675
+ self.focal_plane_resolution_unit = attributes[:'FocalPlaneResolutionUnit']
676
+ end
677
+
678
+ if attributes[:'FocalPlaneXResolution']
679
+ self.focal_plane_x_resolution = attributes[:'FocalPlaneXResolution']
680
+ end
681
+
682
+ if attributes[:'FocalPlaneYResolution']
683
+ self.focal_plane_y_resolution = attributes[:'FocalPlaneYResolution']
684
+ end
685
+
686
+ if attributes[:'GPSAltitude']
687
+ self.gps_altitude = attributes[:'GPSAltitude']
688
+ end
689
+
690
+ if attributes[:'GPSAltitudeRef']
691
+ self.gps_altitude_ref = attributes[:'GPSAltitudeRef']
692
+ end
693
+
694
+ if attributes[:'GPSAreaInformation']
695
+ self.gps_area_information = attributes[:'GPSAreaInformation']
696
+ end
697
+
698
+ if attributes[:'GPSDOP']
699
+ self.gpsdop = attributes[:'GPSDOP']
700
+ end
701
+
702
+ if attributes[:'GPSDestBearing']
703
+ self.gps_dest_bearing = attributes[:'GPSDestBearing']
704
+ end
705
+
706
+ if attributes[:'GPSDestBearingRef']
707
+ self.gps_dest_bearing_ref = attributes[:'GPSDestBearingRef']
708
+ end
709
+
710
+ if attributes[:'GPSDestDistance']
711
+ self.gps_dest_distance = attributes[:'GPSDestDistance']
712
+ end
713
+
714
+ if attributes[:'GPSDestDistanceRef']
715
+ self.gps_dest_distance_ref = attributes[:'GPSDestDistanceRef']
716
+ end
717
+
718
+ if attributes[:'GPSDestLatitude']
719
+ if (value = attributes[:'GPSDestLatitude']).is_a?(Array)
720
+ self.gps_dest_latitude = value
721
+ end
722
+ end
723
+
724
+ if attributes[:'GPSDestLatitudeRef']
725
+ self.gps_dest_latitude_ref = attributes[:'GPSDestLatitudeRef']
726
+ end
727
+
728
+ if attributes[:'GPSDestLongitude']
729
+ if (value = attributes[:'GPSDestLongitude']).is_a?(Array)
730
+ self.gps_dest_longitude = value
731
+ end
732
+ end
733
+
734
+ if attributes[:'GPSDestLongitudeRef']
735
+ self.gps_dest_longitude_ref = attributes[:'GPSDestLongitudeRef']
736
+ end
737
+
738
+ if attributes[:'GPSDifferential']
739
+ self.gps_differential = attributes[:'GPSDifferential']
740
+ end
741
+
742
+ if attributes[:'GPSImgDirection']
743
+ self.gps_img_direction = attributes[:'GPSImgDirection']
744
+ end
745
+
746
+ if attributes[:'GPSImgDirectionRef']
747
+ self.gps_img_direction_ref = attributes[:'GPSImgDirectionRef']
748
+ end
749
+
750
+ if attributes[:'GPSDateStamp']
751
+ self.gps_date_stamp = attributes[:'GPSDateStamp']
752
+ end
753
+
754
+ if attributes[:'GPSLatitude']
755
+ if (value = attributes[:'GPSLatitude']).is_a?(Array)
756
+ self.gps_latitude = value
757
+ end
758
+ end
759
+
760
+ if attributes[:'GPSLatitudeRef']
761
+ self.gps_latitude_ref = attributes[:'GPSLatitudeRef']
762
+ end
763
+
764
+ if attributes[:'GPSLongitude']
765
+ if (value = attributes[:'GPSLongitude']).is_a?(Array)
766
+ self.gps_longitude = value
767
+ end
768
+ end
769
+
770
+ if attributes[:'GPSLongitudeRef']
771
+ self.gps_longitude_ref = attributes[:'GPSLongitudeRef']
772
+ end
773
+
774
+ if attributes[:'GPSMapDatum']
775
+ self.gps_map_datum = attributes[:'GPSMapDatum']
776
+ end
777
+
778
+ if attributes[:'GPSMeasureMode']
779
+ self.gps_measure_mode = attributes[:'GPSMeasureMode']
780
+ end
781
+
782
+ if attributes[:'GPSProcessingMethod']
783
+ self.gps_processing_method = attributes[:'GPSProcessingMethod']
784
+ end
785
+
786
+ if attributes[:'GPSSatellites']
787
+ self.gps_satellites = attributes[:'GPSSatellites']
788
+ end
789
+
790
+ if attributes[:'GPSSpeed']
791
+ self.gps_speed = attributes[:'GPSSpeed']
792
+ end
793
+
794
+ if attributes[:'GPSSpeedRef']
795
+ self.gps_speed_ref = attributes[:'GPSSpeedRef']
796
+ end
797
+
798
+ if attributes[:'GPSStatus']
799
+ self.gps_status = attributes[:'GPSStatus']
800
+ end
801
+
802
+ if attributes[:'GPSTimestamp']
803
+ if (value = attributes[:'GPSTimestamp']).is_a?(Array)
804
+ self.gps_timestamp = value
805
+ end
806
+ end
807
+
808
+ if attributes[:'GPSTrack']
809
+ self.gps_track = attributes[:'GPSTrack']
810
+ end
811
+
812
+ if attributes[:'GPSTrackRef']
813
+ self.gps_track_ref = attributes[:'GPSTrackRef']
814
+ end
815
+
816
+ if attributes[:'GPSVersionID']
817
+ self.gps_version_id = attributes[:'GPSVersionID']
818
+ end
819
+
820
+ if attributes[:'GainControl']
821
+ self.gain_control = attributes[:'GainControl']
822
+ end
823
+
824
+ if attributes[:'Gamma']
825
+ self.gamma = attributes[:'Gamma']
826
+ end
827
+
828
+ if attributes[:'ISOSpeed']
829
+ self.iso_speed = attributes[:'ISOSpeed']
830
+ end
831
+
832
+ if attributes[:'ISOSpeedLatitudeYYY']
833
+ self.iso_speed_latitude_yyy = attributes[:'ISOSpeedLatitudeYYY']
834
+ end
835
+
836
+ if attributes[:'ISOSpeedLatitudeZZZ']
837
+ self.iso_speed_latitude_zzz = attributes[:'ISOSpeedLatitudeZZZ']
838
+ end
839
+
840
+ if attributes[:'PhotographicSensitivity']
841
+ self.photographic_sensitivity = attributes[:'PhotographicSensitivity']
842
+ end
843
+
844
+ if attributes[:'ImageUniqueID']
845
+ self.image_unique_id = attributes[:'ImageUniqueID']
846
+ end
847
+
848
+ if attributes[:'LensMake']
849
+ self.lens_make = attributes[:'LensMake']
850
+ end
851
+
852
+ if attributes[:'LensModel']
853
+ self.lens_model = attributes[:'LensModel']
854
+ end
855
+
856
+ if attributes[:'LensSerialNumber']
857
+ self.lens_serial_number = attributes[:'LensSerialNumber']
858
+ end
859
+
860
+ if attributes[:'LensSpecification']
861
+ if (value = attributes[:'LensSpecification']).is_a?(Array)
862
+ self.lens_specification = value
863
+ end
864
+ end
865
+
866
+ if attributes[:'LightSource']
867
+ self.light_source = attributes[:'LightSource']
868
+ end
869
+
870
+ if attributes[:'MakerNoteRawData']
871
+ self.maker_note_raw_data = attributes[:'MakerNoteRawData']
872
+ end
873
+
874
+ if attributes[:'MaxApertureValue']
875
+ self.max_aperture_value = attributes[:'MaxApertureValue']
876
+ end
877
+
878
+ if attributes[:'MeteringMode']
879
+ self.metering_mode = attributes[:'MeteringMode']
880
+ end
881
+
882
+ if attributes[:'OECF']
883
+ self.oecf = attributes[:'OECF']
884
+ end
885
+
886
+ if attributes[:'PixelXDimension']
887
+ self.pixel_x_dimension = attributes[:'PixelXDimension']
888
+ end
889
+
890
+ if attributes[:'PixelYDimension']
891
+ self.pixel_y_dimension = attributes[:'PixelYDimension']
892
+ end
893
+
894
+ if attributes[:'RecommendedExposureIndex']
895
+ self.recommended_exposure_index = attributes[:'RecommendedExposureIndex']
896
+ end
897
+
898
+ if attributes[:'RelatedSoundFile']
899
+ self.related_sound_file = attributes[:'RelatedSoundFile']
900
+ end
901
+
902
+ if attributes[:'Saturation']
903
+ self.saturation = attributes[:'Saturation']
904
+ end
905
+
906
+ if attributes[:'SceneCaptureType']
907
+ self.scene_capture_type = attributes[:'SceneCaptureType']
908
+ end
909
+
910
+ if attributes[:'SceneType']
911
+ self.scene_type = attributes[:'SceneType']
912
+ end
913
+
914
+ if attributes[:'SensingMethod']
915
+ self.sensing_method = attributes[:'SensingMethod']
916
+ end
917
+
918
+ if attributes[:'SensitivityType']
919
+ self.sensitivity_type = attributes[:'SensitivityType']
920
+ end
921
+
922
+ if attributes[:'Sharpness']
923
+ self.sharpness = attributes[:'Sharpness']
924
+ end
925
+
926
+ if attributes[:'ShutterSpeedValue']
927
+ self.shutter_speed_value = attributes[:'ShutterSpeedValue']
928
+ end
929
+
930
+ if attributes[:'SpatialFrequencyResponse']
931
+ self.spatial_frequency_response = attributes[:'SpatialFrequencyResponse']
932
+ end
933
+
934
+ if attributes[:'SpectralSensitivity']
935
+ self.spectral_sensitivity = attributes[:'SpectralSensitivity']
936
+ end
937
+
938
+ if attributes[:'StandardOutputSensitivity']
939
+ self.standard_output_sensitivity = attributes[:'StandardOutputSensitivity']
940
+ end
941
+
942
+ if attributes[:'SubjectArea']
943
+ if (value = attributes[:'SubjectArea']).is_a?(Array)
944
+ self.subject_area = value
945
+ end
946
+ end
947
+
948
+ if attributes[:'SubjectDistance']
949
+ self.subject_distance = attributes[:'SubjectDistance']
950
+ end
951
+
952
+ if attributes[:'SubjectDistanceRange']
953
+ self.subject_distance_range = attributes[:'SubjectDistanceRange']
954
+ end
955
+
956
+ if attributes[:'SubjectLocation']
957
+ if (value = attributes[:'SubjectLocation']).is_a?(Array)
958
+ self.subject_location = value
959
+ end
960
+ end
961
+
962
+ if attributes[:'SubsecTime']
963
+ self.subsec_time = attributes[:'SubsecTime']
964
+ end
965
+
966
+ if attributes[:'SubsecTimeDigitized']
967
+ self.subsec_time_digitized = attributes[:'SubsecTimeDigitized']
968
+ end
969
+
970
+ if attributes[:'SubsecTimeOriginal']
971
+ self.subsec_time_original = attributes[:'SubsecTimeOriginal']
972
+ end
973
+
974
+ if attributes[:'UserComment']
975
+ self.user_comment = attributes[:'UserComment']
976
+ end
977
+
978
+ if attributes[:'WhiteBalance']
979
+ self.white_balance = attributes[:'WhiteBalance']
980
+ end
981
+
982
+ if attributes[:'WhitePoint']
983
+ if (value = attributes[:'WhitePoint']).is_a?(Array)
984
+ self.white_point = value
985
+ end
986
+ end
987
+
988
+ end
989
+
990
+ end
991
+ end