aimastering 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -5
  3. data/aimastering.gemspec +4 -4
  4. data/docs/AccessTokenApi.md +1 -1
  5. data/docs/AmazonSubscription.md +12 -0
  6. data/docs/AmazonSubscriptionApi.md +55 -0
  7. data/docs/Audio.md +4 -0
  8. data/docs/AudioApi.md +4 -2
  9. data/docs/Config.md +1 -0
  10. data/docs/ConfigApi.md +1 -1
  11. data/docs/{DateTime.md → ConfigVersion.md} +2 -1
  12. data/docs/ExternalSearchApi.md +1 -1
  13. data/docs/GroupBuyStatistics.md +8 -0
  14. data/docs/LibraryAudio.md +4 -0
  15. data/docs/LibraryAudioApi.md +1 -1
  16. data/docs/Mastering.md +9 -0
  17. data/docs/MasteringApi.md +151 -29
  18. data/docs/PaymentApi.md +3 -3
  19. data/docs/PaymentCustomerApi.md +1 -1
  20. data/docs/PlanApi.md +1 -1
  21. data/docs/SpSubscription.md +12 -0
  22. data/docs/SpSubscriptionApi.md +112 -0
  23. data/docs/StatisticsApi.md +48 -1
  24. data/docs/Subscription.md +1 -0
  25. data/docs/SubscriptionApi.md +4 -2
  26. data/docs/User.md +3 -0
  27. data/docs/UserApi.md +110 -1
  28. data/docs/UserStatistics.md +13 -0
  29. data/docs/VideoApi.md +1 -1
  30. data/lib/aimastering.rb +8 -1
  31. data/lib/aimastering/api/access_token_api.rb +1 -1
  32. data/lib/aimastering/api/amazon_subscription_api.rb +70 -0
  33. data/lib/aimastering/api/audio_api.rb +4 -1
  34. data/lib/aimastering/api/config_api.rb +1 -1
  35. data/lib/aimastering/api/external_search_api.rb +1 -1
  36. data/lib/aimastering/api/library_audio_api.rb +1 -1
  37. data/lib/aimastering/api/mastering_api.rb +162 -16
  38. data/lib/aimastering/api/payment_api.rb +1 -1
  39. data/lib/aimastering/api/payment_customer_api.rb +1 -1
  40. data/lib/aimastering/api/plan_api.rb +1 -1
  41. data/lib/aimastering/api/sp_subscription_api.rb +133 -0
  42. data/lib/aimastering/api/statistics_api.rb +48 -1
  43. data/lib/aimastering/api/subscription_api.rb +4 -1
  44. data/lib/aimastering/api/user_api.rb +112 -1
  45. data/lib/aimastering/api/video_api.rb +1 -1
  46. data/lib/aimastering/api_client.rb +1 -1
  47. data/lib/aimastering/api_error.rb +1 -1
  48. data/lib/aimastering/configuration.rb +3 -3
  49. data/lib/aimastering/models/access_token.rb +1 -1
  50. data/lib/aimastering/models/amazon_subscription.rb +257 -0
  51. data/lib/aimastering/models/anonymized_mastering.rb +5 -5
  52. data/lib/aimastering/models/audio.rb +38 -2
  53. data/lib/aimastering/models/audio_analysis.rb +1 -1
  54. data/lib/aimastering/models/audio_download_token.rb +1 -1
  55. data/lib/aimastering/models/config.rb +14 -5
  56. data/lib/aimastering/models/config_auth0.rb +1 -1
  57. data/lib/aimastering/models/config_paypal.rb +1 -1
  58. data/lib/aimastering/models/config_stripe.rb +1 -1
  59. data/lib/aimastering/models/{date_time.rb → config_version.rb} +14 -5
  60. data/lib/aimastering/models/external_search_result.rb +1 -1
  61. data/lib/aimastering/models/external_search_result_itunes.rb +1 -1
  62. data/lib/aimastering/models/external_search_result_youtube.rb +1 -1
  63. data/lib/aimastering/models/group_buy_statistics.rb +188 -0
  64. data/lib/aimastering/models/jwt.rb +1 -1
  65. data/lib/aimastering/models/kpi.rb +1 -1
  66. data/lib/aimastering/models/library_audio.rb +38 -2
  67. data/lib/aimastering/models/library_audio_analysis.rb +1 -1
  68. data/lib/aimastering/models/library_audio_like.rb +1 -1
  69. data/lib/aimastering/models/mastering.rb +123 -6
  70. data/lib/aimastering/models/payment.rb +1 -1
  71. data/lib/aimastering/models/payment_customer.rb +1 -1
  72. data/lib/aimastering/models/plan.rb +1 -1
  73. data/lib/aimastering/models/sp_subscription.rb +257 -0
  74. data/lib/aimastering/models/subscription.rb +11 -2
  75. data/lib/aimastering/models/user.rb +29 -2
  76. data/lib/aimastering/models/user_statistics.rb +233 -0
  77. data/lib/aimastering/models/video.rb +1 -1
  78. data/lib/aimastering/models/video_download_token.rb +1 -1
  79. data/lib/aimastering/version.rb +2 -2
  80. data/spec/api/access_token_api_spec.rb +1 -1
  81. data/spec/api/amazon_subscription_api_spec.rb +46 -0
  82. data/spec/api/audio_api_spec.rb +2 -1
  83. data/spec/api/config_api_spec.rb +1 -1
  84. data/spec/api/external_search_api_spec.rb +1 -1
  85. data/spec/api/library_audio_api_spec.rb +1 -1
  86. data/spec/api/mastering_api_spec.rb +35 -4
  87. data/spec/api/payment_api_spec.rb +1 -1
  88. data/spec/api/payment_customer_api_spec.rb +1 -1
  89. data/spec/api/plan_api_spec.rb +1 -1
  90. data/spec/api/sp_subscription_api_spec.rb +59 -0
  91. data/spec/api/statistics_api_spec.rb +12 -1
  92. data/spec/api/subscription_api_spec.rb +2 -1
  93. data/spec/api/user_api_spec.rb +26 -1
  94. data/spec/api/video_api_spec.rb +1 -1
  95. data/spec/api_client_spec.rb +1 -1
  96. data/spec/configuration_spec.rb +4 -4
  97. data/spec/models/access_token_spec.rb +1 -1
  98. data/spec/models/amazon_subscription_spec.rb +70 -0
  99. data/spec/models/anonymized_mastering_spec.rb +3 -3
  100. data/spec/models/audio_analysis_spec.rb +1 -1
  101. data/spec/models/audio_download_token_spec.rb +1 -1
  102. data/spec/models/audio_spec.rb +25 -1
  103. data/spec/models/config_auth0_spec.rb +1 -1
  104. data/spec/models/config_paypal_spec.rb +1 -1
  105. data/spec/models/config_spec.rb +7 -1
  106. data/spec/models/config_stripe_spec.rb +1 -1
  107. data/spec/models/config_version_spec.rb +42 -0
  108. data/spec/models/external_search_result_itunes_spec.rb +1 -1
  109. data/spec/models/external_search_result_spec.rb +1 -1
  110. data/spec/models/external_search_result_youtube_spec.rb +1 -1
  111. data/spec/models/group_buy_statistics_spec.rb +42 -0
  112. data/spec/models/jwt_spec.rb +1 -1
  113. data/spec/models/kpi_spec.rb +1 -1
  114. data/spec/models/library_audio_analysis_spec.rb +1 -1
  115. data/spec/models/library_audio_like_spec.rb +1 -1
  116. data/spec/models/library_audio_spec.rb +25 -1
  117. data/spec/models/mastering_spec.rb +69 -3
  118. data/spec/models/payment_customer_spec.rb +1 -1
  119. data/spec/models/payment_spec.rb +1 -1
  120. data/spec/models/plan_spec.rb +1 -1
  121. data/spec/models/sp_subscription_spec.rb +70 -0
  122. data/spec/models/subscription_spec.rb +7 -1
  123. data/spec/models/user_spec.rb +19 -1
  124. data/spec/models/user_statistics_spec.rb +72 -0
  125. data/spec/models/video_download_token_spec.rb +1 -1
  126. data/spec/models/video_spec.rb +1 -1
  127. data/spec/spec_helper.rb +1 -1
  128. metadata +46 -23
  129. data/spec/models/date_time_spec.rb +0 -36
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -261,11 +261,11 @@ module Aimastering
261
261
  # Check to see if the all the properties in the model are valid
262
262
  # @return true if the model is valid
263
263
  def valid?
264
- mode_validator = EnumAttributeValidator.new('String', ["default", "custom", "preset"])
264
+ mode_validator = EnumAttributeValidator.new('String', ["default", "custom"])
265
265
  return false unless mode_validator.valid?(@mode)
266
266
  status_validator = EnumAttributeValidator.new('String', ["waiting", "processing", "canceled", "failed", "succeeded"])
267
267
  return false unless status_validator.valid?(@status)
268
- failure_reason_validator = EnumAttributeValidator.new('String', ["unknown", "expired", "failed_to_prepare", "job_queue"])
268
+ failure_reason_validator = EnumAttributeValidator.new('String', ["unknown", "expired", "failed_to_prepare"])
269
269
  return false unless failure_reason_validator.valid?(@failure_reason)
270
270
  output_format_validator = EnumAttributeValidator.new('String', ["wav", "mp3"])
271
271
  return false unless output_format_validator.valid?(@output_format)
@@ -283,7 +283,7 @@ module Aimastering
283
283
  # Custom attribute writer method checking allowed values (enum).
284
284
  # @param [Object] mode Object to be assigned
285
285
  def mode=(mode)
286
- validator = EnumAttributeValidator.new('String', ["default", "custom", "preset"])
286
+ validator = EnumAttributeValidator.new('String', ["default", "custom"])
287
287
  unless validator.valid?(mode)
288
288
  fail ArgumentError, "invalid value for 'mode', must be one of #{validator.allowable_values}."
289
289
  end
@@ -303,7 +303,7 @@ module Aimastering
303
303
  # Custom attribute writer method checking allowed values (enum).
304
304
  # @param [Object] failure_reason Object to be assigned
305
305
  def failure_reason=(failure_reason)
306
- validator = EnumAttributeValidator.new('String', ["unknown", "expired", "failed_to_prepare", "job_queue"])
306
+ validator = EnumAttributeValidator.new('String', ["unknown", "expired", "failed_to_prepare"])
307
307
  unless validator.valid?(failure_reason)
308
308
  fail ArgumentError, "invalid value for 'failure_reason', must be one of #{validator.allowable_values}."
309
309
  end
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -35,6 +35,10 @@ module Aimastering
35
35
 
36
36
  attr_accessor :peak
37
37
 
38
+ attr_accessor :true_peak
39
+
40
+ attr_accessor :lowpass_true_peak_15khz
41
+
38
42
  attr_accessor :loudness
39
43
 
40
44
  attr_accessor :dynamics
@@ -49,6 +53,10 @@ module Aimastering
49
53
 
50
54
  attr_accessor :sound_quality
51
55
 
56
+ attr_accessor :sound_quality2
57
+
58
+ attr_accessor :dissonance
59
+
52
60
  attr_accessor :frames
53
61
 
54
62
  attr_accessor :sample_rate
@@ -73,6 +81,8 @@ module Aimastering
73
81
  :'probe_json' => :'probe_json',
74
82
  :'rms' => :'rms',
75
83
  :'peak' => :'peak',
84
+ :'true_peak' => :'true_peak',
85
+ :'lowpass_true_peak_15khz' => :'lowpass_true_peak_15khz',
76
86
  :'loudness' => :'loudness',
77
87
  :'dynamics' => :'dynamics',
78
88
  :'sharpness' => :'sharpness',
@@ -80,6 +90,8 @@ module Aimastering
80
90
  :'loudness_range' => :'loudness_range',
81
91
  :'drr' => :'drr',
82
92
  :'sound_quality' => :'sound_quality',
93
+ :'sound_quality2' => :'sound_quality2',
94
+ :'dissonance' => :'dissonance',
83
95
  :'frames' => :'frames',
84
96
  :'sample_rate' => :'sample_rate',
85
97
  :'channels' => :'channels',
@@ -101,6 +113,8 @@ module Aimastering
101
113
  :'probe_json' => :'String',
102
114
  :'rms' => :'Float',
103
115
  :'peak' => :'Float',
116
+ :'true_peak' => :'Float',
117
+ :'lowpass_true_peak_15khz' => :'Float',
104
118
  :'loudness' => :'Float',
105
119
  :'dynamics' => :'Float',
106
120
  :'sharpness' => :'Float',
@@ -108,6 +122,8 @@ module Aimastering
108
122
  :'loudness_range' => :'Float',
109
123
  :'drr' => :'Float',
110
124
  :'sound_quality' => :'Float',
125
+ :'sound_quality2' => :'Float',
126
+ :'dissonance' => :'Float',
111
127
  :'frames' => :'Integer',
112
128
  :'sample_rate' => :'Integer',
113
129
  :'channels' => :'Integer',
@@ -164,6 +180,14 @@ module Aimastering
164
180
  self.peak = attributes[:'peak']
165
181
  end
166
182
 
183
+ if attributes.has_key?(:'true_peak')
184
+ self.true_peak = attributes[:'true_peak']
185
+ end
186
+
187
+ if attributes.has_key?(:'lowpass_true_peak_15khz')
188
+ self.lowpass_true_peak_15khz = attributes[:'lowpass_true_peak_15khz']
189
+ end
190
+
167
191
  if attributes.has_key?(:'loudness')
168
192
  self.loudness = attributes[:'loudness']
169
193
  end
@@ -192,6 +216,14 @@ module Aimastering
192
216
  self.sound_quality = attributes[:'sound_quality']
193
217
  end
194
218
 
219
+ if attributes.has_key?(:'sound_quality2')
220
+ self.sound_quality2 = attributes[:'sound_quality2']
221
+ end
222
+
223
+ if attributes.has_key?(:'dissonance')
224
+ self.dissonance = attributes[:'dissonance']
225
+ end
226
+
195
227
  if attributes.has_key?(:'frames')
196
228
  self.frames = attributes[:'frames']
197
229
  end
@@ -242,6 +274,8 @@ module Aimastering
242
274
  probe_json == o.probe_json &&
243
275
  rms == o.rms &&
244
276
  peak == o.peak &&
277
+ true_peak == o.true_peak &&
278
+ lowpass_true_peak_15khz == o.lowpass_true_peak_15khz &&
245
279
  loudness == o.loudness &&
246
280
  dynamics == o.dynamics &&
247
281
  sharpness == o.sharpness &&
@@ -249,6 +283,8 @@ module Aimastering
249
283
  loudness_range == o.loudness_range &&
250
284
  drr == o.drr &&
251
285
  sound_quality == o.sound_quality &&
286
+ sound_quality2 == o.sound_quality2 &&
287
+ dissonance == o.dissonance &&
252
288
  frames == o.frames &&
253
289
  sample_rate == o.sample_rate &&
254
290
  channels == o.channels &&
@@ -265,7 +301,7 @@ module Aimastering
265
301
  # Calculates hash code according to all attributes.
266
302
  # @return [Fixnum] Hash code
267
303
  def hash
268
- [id, file_resource_id, user_id, name, created_by_user, status, failure_reason, probe_json, rms, peak, loudness, dynamics, sharpness, space, loudness_range, drr, sound_quality, frames, sample_rate, channels, created_at, updated_at].hash
304
+ [id, file_resource_id, user_id, name, created_by_user, status, failure_reason, probe_json, rms, peak, true_peak, lowpass_true_peak_15khz, loudness, dynamics, sharpness, space, loudness_range, drr, sound_quality, sound_quality2, dissonance, frames, sample_rate, channels, created_at, updated_at].hash
269
305
  end
270
306
 
271
307
  # Builds the object from hash
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -21,13 +21,16 @@ module Aimastering
21
21
 
22
22
  attr_accessor :stripe
23
23
 
24
+ attr_accessor :version
25
+
24
26
 
25
27
  # Attribute mapping from ruby-style variable name to JSON key.
26
28
  def self.attribute_map
27
29
  {
28
30
  :'auth0' => :'auth0',
29
31
  :'paypal' => :'paypal',
30
- :'stripe' => :'stripe'
32
+ :'stripe' => :'stripe',
33
+ :'version' => :'version'
31
34
  }
32
35
  end
33
36
 
@@ -36,7 +39,8 @@ module Aimastering
36
39
  {
37
40
  :'auth0' => :'ConfigAuth0',
38
41
  :'paypal' => :'ConfigPaypal',
39
- :'stripe' => :'ConfigStripe'
42
+ :'stripe' => :'ConfigStripe',
43
+ :'version' => :'ConfigVersion'
40
44
  }
41
45
  end
42
46
 
@@ -60,6 +64,10 @@ module Aimastering
60
64
  self.stripe = attributes[:'stripe']
61
65
  end
62
66
 
67
+ if attributes.has_key?(:'version')
68
+ self.version = attributes[:'version']
69
+ end
70
+
63
71
  end
64
72
 
65
73
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -82,7 +90,8 @@ module Aimastering
82
90
  self.class == o.class &&
83
91
  auth0 == o.auth0 &&
84
92
  paypal == o.paypal &&
85
- stripe == o.stripe
93
+ stripe == o.stripe &&
94
+ version == o.version
86
95
  end
87
96
 
88
97
  # @see the `==` method
@@ -94,7 +103,7 @@ module Aimastering
94
103
  # Calculates hash code according to all attributes.
95
104
  # @return [Fixnum] Hash code
96
105
  def hash
97
- [auth0, paypal, stripe].hash
106
+ [auth0, paypal, stripe, version].hash
98
107
  end
99
108
 
100
109
  # Builds the object from hash
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #AI Mastering API
3
3
 
4
- #This is a AI Mastering API document. You can use the mastering feature of [https://aimastering.com/](AI Mastering) through this API.
4
+ #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -14,17 +14,21 @@ require 'date'
14
14
 
15
15
  module Aimastering
16
16
 
17
- class DateTime
17
+ class ConfigVersion
18
+ attr_accessor :commit
19
+
18
20
 
19
21
  # Attribute mapping from ruby-style variable name to JSON key.
20
22
  def self.attribute_map
21
23
  {
24
+ :'commit' => :'commit'
22
25
  }
23
26
  end
24
27
 
25
28
  # Attribute type mapping.
26
29
  def self.swagger_types
27
30
  {
31
+ :'commit' => :'String'
28
32
  }
29
33
  end
30
34
 
@@ -36,6 +40,10 @@ module Aimastering
36
40
  # convert string to symbol for hash key
37
41
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
38
42
 
43
+ if attributes.has_key?(:'commit')
44
+ self.commit = attributes[:'commit']
45
+ end
46
+
39
47
  end
40
48
 
41
49
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -55,7 +63,8 @@ module Aimastering
55
63
  # @param [Object] Object to be compared
56
64
  def ==(o)
57
65
  return true if self.equal?(o)
58
- self.class == o.class
66
+ self.class == o.class &&
67
+ commit == o.commit
59
68
  end
60
69
 
61
70
  # @see the `==` method
@@ -67,7 +76,7 @@ module Aimastering
67
76
  # Calculates hash code according to all attributes.
68
77
  # @return [Fixnum] Hash code
69
78
  def hash
70
- [].hash
79
+ [commit].hash
71
80
  end
72
81
 
73
82
  # Builds the object from hash
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -4,7 +4,7 @@
4
4
  #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
5
 
6
6
  OpenAPI spec version: 1.0.0
7
- Contact: aimasteringcom@gmail.com
7
+ Contact: info@bakuage.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.1
10
10
 
@@ -0,0 +1,188 @@
1
+ =begin
2
+ #AI Mastering API
3
+
4
+ #This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: info@bakuage.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Aimastering
16
+
17
+ class GroupBuyStatistics
18
+ attr_accessor :premium_plan_subscribed_user_count
19
+
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'premium_plan_subscribed_user_count' => :'premium_plan_subscribed_user_count'
25
+ }
26
+ end
27
+
28
+ # Attribute type mapping.
29
+ def self.swagger_types
30
+ {
31
+ :'premium_plan_subscribed_user_count' => :'Integer'
32
+ }
33
+ end
34
+
35
+ # Initializes the object
36
+ # @param [Hash] attributes Model attributes in the form of hash
37
+ def initialize(attributes = {})
38
+ return unless attributes.is_a?(Hash)
39
+
40
+ # convert string to symbol for hash key
41
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
42
+
43
+ if attributes.has_key?(:'premium_plan_subscribed_user_count')
44
+ self.premium_plan_subscribed_user_count = attributes[:'premium_plan_subscribed_user_count']
45
+ end
46
+
47
+ end
48
+
49
+ # Show invalid properties with the reasons. Usually used together with valid?
50
+ # @return Array for valid properties with the reasons
51
+ def list_invalid_properties
52
+ invalid_properties = Array.new
53
+ return invalid_properties
54
+ end
55
+
56
+ # Check to see if the all the properties in the model are valid
57
+ # @return true if the model is valid
58
+ def valid?
59
+ return true
60
+ end
61
+
62
+ # Checks equality by comparing each attribute.
63
+ # @param [Object] Object to be compared
64
+ def ==(o)
65
+ return true if self.equal?(o)
66
+ self.class == o.class &&
67
+ premium_plan_subscribed_user_count == o.premium_plan_subscribed_user_count
68
+ end
69
+
70
+ # @see the `==` method
71
+ # @param [Object] Object to be compared
72
+ def eql?(o)
73
+ self == o
74
+ end
75
+
76
+ # Calculates hash code according to all attributes.
77
+ # @return [Fixnum] Hash code
78
+ def hash
79
+ [premium_plan_subscribed_user_count].hash
80
+ end
81
+
82
+ # Builds the object from hash
83
+ # @param [Hash] attributes Model attributes in the form of hash
84
+ # @return [Object] Returns the model itself
85
+ def build_from_hash(attributes)
86
+ return nil unless attributes.is_a?(Hash)
87
+ self.class.swagger_types.each_pair do |key, type|
88
+ if type =~ /\AArray<(.*)>/i
89
+ # check to ensure the input is an array given that the the attribute
90
+ # is documented as an array but the input is not
91
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
92
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
93
+ end
94
+ elsif !attributes[self.class.attribute_map[key]].nil?
95
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
96
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
97
+ end
98
+
99
+ self
100
+ end
101
+
102
+ # Deserializes the data based on type
103
+ # @param string type Data type
104
+ # @param string value Value to be deserialized
105
+ # @return [Object] Deserialized data
106
+ def _deserialize(type, value)
107
+ case type.to_sym
108
+ when :DateTime
109
+ DateTime.parse(value)
110
+ when :Date
111
+ Date.parse(value)
112
+ when :String
113
+ value.to_s
114
+ when :Integer
115
+ value.to_i
116
+ when :Float
117
+ value.to_f
118
+ when :BOOLEAN
119
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
120
+ true
121
+ else
122
+ false
123
+ end
124
+ when :Object
125
+ # generic object (usually a Hash), return directly
126
+ value
127
+ when /\AArray<(?<inner_type>.+)>\z/
128
+ inner_type = Regexp.last_match[:inner_type]
129
+ value.map { |v| _deserialize(inner_type, v) }
130
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
131
+ k_type = Regexp.last_match[:k_type]
132
+ v_type = Regexp.last_match[:v_type]
133
+ {}.tap do |hash|
134
+ value.each do |k, v|
135
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
136
+ end
137
+ end
138
+ else # model
139
+ temp_model = Aimastering.const_get(type).new
140
+ temp_model.build_from_hash(value)
141
+ end
142
+ end
143
+
144
+ # Returns the string representation of the object
145
+ # @return [String] String presentation of the object
146
+ def to_s
147
+ to_hash.to_s
148
+ end
149
+
150
+ # to_body is an alias to to_hash (backward compatibility)
151
+ # @return [Hash] Returns the object in the form of hash
152
+ def to_body
153
+ to_hash
154
+ end
155
+
156
+ # Returns the object in the form of hash
157
+ # @return [Hash] Returns the object in the form of hash
158
+ def to_hash
159
+ hash = {}
160
+ self.class.attribute_map.each_pair do |attr, param|
161
+ value = self.send(attr)
162
+ next if value.nil?
163
+ hash[param] = _to_hash(value)
164
+ end
165
+ hash
166
+ end
167
+
168
+ # Outputs non-array value in the form of hash
169
+ # For object, use to_hash. Otherwise, just return the value
170
+ # @param [Object] value Any valid value
171
+ # @return [Hash] Returns the value in the form of hash
172
+ def _to_hash(value)
173
+ if value.is_a?(Array)
174
+ value.compact.map{ |v| _to_hash(v) }
175
+ elsif value.is_a?(Hash)
176
+ {}.tap do |hash|
177
+ value.each { |k, v| hash[k] = _to_hash(v) }
178
+ end
179
+ elsif value.respond_to? :to_hash
180
+ value.to_hash
181
+ else
182
+ value
183
+ end
184
+ end
185
+
186
+ end
187
+
188
+ end