peal 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +136 -0
  4. data/LICENSE +202 -0
  5. data/README.md +353 -0
  6. data/Rakefile +10 -0
  7. data/docs/AlreadyMemberEncoded.md +18 -0
  8. data/docs/AltTextTooLongEncoded.md +20 -0
  9. data/docs/AnalyticsApi.md +155 -0
  10. data/docs/AnalyticsSummary.md +30 -0
  11. data/docs/ApiKey.md +28 -0
  12. data/docs/ApiKeyNotFoundEncoded.md +18 -0
  13. data/docs/ApiKeysApi.md +220 -0
  14. data/docs/ApiKeysRevoke404Response.md +18 -0
  15. data/docs/AssistantAction.md +24 -0
  16. data/docs/AssistantActionAnyOf.md +20 -0
  17. data/docs/AssistantActionAnyOf1.md +20 -0
  18. data/docs/AssistantActionAnyOf2.md +20 -0
  19. data/docs/AssistantActionAnyOf3.md +18 -0
  20. data/docs/AssistantApi.md +149 -0
  21. data/docs/AssistantFailedEncoded.md +20 -0
  22. data/docs/AssistantInputRejectedEncoded.md +22 -0
  23. data/docs/AssistantQuotaExceededEncoded.md +22 -0
  24. data/docs/AssistantStatus.md +26 -0
  25. data/docs/AssistantTone.md +15 -0
  26. data/docs/AssistantUnavailableEncoded.md +18 -0
  27. data/docs/AttemptResult.md +15 -0
  28. data/docs/Authorization.md +18 -0
  29. data/docs/Billing.md +28 -0
  30. data/docs/BillingApi.md +77 -0
  31. data/docs/BillingSubscription.md +24 -0
  32. data/docs/Channel.md +30 -0
  33. data/docs/ChannelCannotPostEncoded.md +20 -0
  34. data/docs/ChannelMetrics.md +30 -0
  35. data/docs/ChannelNotFoundEncoded.md +18 -0
  36. data/docs/ChannelOptions.md +20 -0
  37. data/docs/ChannelStatus.md +20 -0
  38. data/docs/ChannelStatusAnyOf.md +18 -0
  39. data/docs/ChannelStatusAnyOf1.md +18 -0
  40. data/docs/ChannelStatusAnyOf2.md +20 -0
  41. data/docs/ChannelsApi.md +512 -0
  42. data/docs/ChannelsCompleteConnect404Response.md +18 -0
  43. data/docs/ChoosableAccount.md +26 -0
  44. data/docs/ChooseAccounts.md +20 -0
  45. data/docs/ConnectCallback.md +24 -0
  46. data/docs/ConnectChannel.md +20 -0
  47. data/docs/ConnectFailedEncoded.md +20 -0
  48. data/docs/ConnectFailureReason.md +15 -0
  49. data/docs/ConnectOutcome.md +26 -0
  50. data/docs/ConnectOutcomeAnyOf.md +20 -0
  51. data/docs/ConnectOutcomeAnyOf1.md +24 -0
  52. data/docs/ConnectablePlatforms.md +18 -0
  53. data/docs/ContentViolation.md +54 -0
  54. data/docs/ContentViolationAnyOf.md +18 -0
  55. data/docs/ContentViolationAnyOf1.md +20 -0
  56. data/docs/ContentViolationAnyOf10.md +26 -0
  57. data/docs/ContentViolationAnyOf11.md +22 -0
  58. data/docs/ContentViolationAnyOf12.md +26 -0
  59. data/docs/ContentViolationAnyOf13.md +26 -0
  60. data/docs/ContentViolationAnyOf14.md +26 -0
  61. data/docs/ContentViolationAnyOf15.md +26 -0
  62. data/docs/ContentViolationAnyOf16.md +22 -0
  63. data/docs/ContentViolationAnyOf17.md +26 -0
  64. data/docs/ContentViolationAnyOf18.md +28 -0
  65. data/docs/ContentViolationAnyOf19.md +28 -0
  66. data/docs/ContentViolationAnyOf2.md +20 -0
  67. data/docs/ContentViolationAnyOf20.md +28 -0
  68. data/docs/ContentViolationAnyOf21.md +28 -0
  69. data/docs/ContentViolationAnyOf22.md +30 -0
  70. data/docs/ContentViolationAnyOf23.md +32 -0
  71. data/docs/ContentViolationAnyOf24.md +32 -0
  72. data/docs/ContentViolationAnyOf24Maximum.md +15 -0
  73. data/docs/ContentViolationAnyOf25.md +28 -0
  74. data/docs/ContentViolationAnyOf3.md +24 -0
  75. data/docs/ContentViolationAnyOf4.md +24 -0
  76. data/docs/ContentViolationAnyOf5.md +28 -0
  77. data/docs/ContentViolationAnyOf6.md +24 -0
  78. data/docs/ContentViolationAnyOf7.md +22 -0
  79. data/docs/ContentViolationAnyOf8.md +28 -0
  80. data/docs/ContentViolationAnyOf9.md +24 -0
  81. data/docs/CreatedApiKey.md +20 -0
  82. data/docs/DatabaseUnavailableEncoded.md +18 -0
  83. data/docs/DraftPage.md +20 -0
  84. data/docs/EffectHttpApiErrorBadRequestEncoded.md +18 -0
  85. data/docs/EngagementDay.md +26 -0
  86. data/docs/FailureReason.md +15 -0
  87. data/docs/ForbiddenEncoded.md +18 -0
  88. data/docs/InvalidDateRangeEncoded.md +18 -0
  89. data/docs/InvalidTimeRangeEncoded.md +18 -0
  90. data/docs/InvalidTimeZoneEncoded.md +20 -0
  91. data/docs/Invitation.md +28 -0
  92. data/docs/InvitationNotFoundEncoded.md +18 -0
  93. data/docs/InvitationsApi.md +220 -0
  94. data/docs/InvitationsCreate409Response.md +18 -0
  95. data/docs/InvitationsRevoke404Response.md +18 -0
  96. data/docs/MarkNoticesRead.md +18 -0
  97. data/docs/Me.md +22 -0
  98. data/docs/MeUser.md +28 -0
  99. data/docs/Media.md +40 -0
  100. data/docs/MediaApi.md +516 -0
  101. data/docs/MediaAttachment.md +20 -0
  102. data/docs/MediaContentType.md +15 -0
  103. data/docs/MediaCreate422Response.md +28 -0
  104. data/docs/MediaDescription.md +18 -0
  105. data/docs/MediaDimensions.md +20 -0
  106. data/docs/MediaGet404Response.md +18 -0
  107. data/docs/MediaInUseEncoded.md +20 -0
  108. data/docs/MediaKind.md +15 -0
  109. data/docs/MediaNotFoundEncoded.md +18 -0
  110. data/docs/MediaPage.md +20 -0
  111. data/docs/MediaStatus.md +22 -0
  112. data/docs/MediaStatusAnyOf.md +18 -0
  113. data/docs/MediaStatusAnyOf1.md +20 -0
  114. data/docs/MediaStatusAnyOf2.md +18 -0
  115. data/docs/MediaStatusAnyOf3.md +20 -0
  116. data/docs/MediaStoreUnavailableEncoded.md +18 -0
  117. data/docs/MediaTooLargeEncoded.md +24 -0
  118. data/docs/MediaUsage.md +20 -0
  119. data/docs/MembersApi.md +77 -0
  120. data/docs/Membership.md +26 -0
  121. data/docs/MetricTotals.md +28 -0
  122. data/docs/MetricsSnapshot.md +20 -0
  123. data/docs/NewApiKey.md +22 -0
  124. data/docs/NewInvitation.md +20 -0
  125. data/docs/NewUpload.md +22 -0
  126. data/docs/NonFiniteNumber.md +15 -0
  127. data/docs/Notice.md +26 -0
  128. data/docs/NoticeChannel.md +20 -0
  129. data/docs/NoticeEvent.md +28 -0
  130. data/docs/NoticeEventAnyOf.md +24 -0
  131. data/docs/NoticeEventAnyOf1.md +24 -0
  132. data/docs/NoticeEventAnyOf2.md +22 -0
  133. data/docs/NoticeEventAnyOf3.md +20 -0
  134. data/docs/NoticeEventAnyOf4.md +22 -0
  135. data/docs/NoticePage.md +20 -0
  136. data/docs/NoticesApi.md +285 -0
  137. data/docs/NotificationPreferences.md +20 -0
  138. data/docs/NotificationPreferencesApi.md +144 -0
  139. data/docs/NotificationPreferencesChange.md +20 -0
  140. data/docs/NotificationPreferencesChangeEmail.md +24 -0
  141. data/docs/NotificationPreferencesEmail.md +24 -0
  142. data/docs/PaidPlan.md +15 -0
  143. data/docs/PeriodUsage.md +20 -0
  144. data/docs/Plan.md +15 -0
  145. data/docs/PlanAllowances.md +24 -0
  146. data/docs/PlanLimit.md +15 -0
  147. data/docs/PlanLimitReachedEncoded.md +22 -0
  148. data/docs/PlanOffer.md +20 -0
  149. data/docs/Platform.md +15 -0
  150. data/docs/PlatformUnreachableEncoded.md +18 -0
  151. data/docs/Post.md +30 -0
  152. data/docs/PostAnalytics.md +20 -0
  153. data/docs/PostContent.md +22 -0
  154. data/docs/PostContentInvalidEncoded.md +20 -0
  155. data/docs/PostDraft.md +22 -0
  156. data/docs/PostMetrics.md +26 -0
  157. data/docs/PostNotFoundEncoded.md +18 -0
  158. data/docs/PostOutcome.md +15 -0
  159. data/docs/PostSchedule.md +20 -0
  160. data/docs/PostStatus.md +15 -0
  161. data/docs/PostStatusConflictEncoded.md +20 -0
  162. data/docs/PostTarget.md +36 -0
  163. data/docs/PostTargetStatus.md +15 -0
  164. data/docs/PostsApi.md +960 -0
  165. data/docs/PostsCreate422Response.md +24 -0
  166. data/docs/PostsGet404Response.md +18 -0
  167. data/docs/PostsRepost409Response.md +20 -0
  168. data/docs/PostsSchedule422Response.md +26 -0
  169. data/docs/PreparedUpload.md +20 -0
  170. data/docs/ProbeState.md +15 -0
  171. data/docs/PublicationAttempt.md +30 -0
  172. data/docs/RejectionReason.md +15 -0
  173. data/docs/Role.md +15 -0
  174. data/docs/ScheduleInPastEncoded.md +18 -0
  175. data/docs/SchedulePost.md +22 -0
  176. data/docs/SessionApi.md +74 -0
  177. data/docs/SignedRequest.md +22 -0
  178. data/docs/SubscriptionStatus.md +15 -0
  179. data/docs/Suggestion.md +22 -0
  180. data/docs/SuggestionAnyOf.md +20 -0
  181. data/docs/SuggestionAnyOf1.md +20 -0
  182. data/docs/SuggestionRequest.md +20 -0
  183. data/docs/SystemApi.md +129 -0
  184. data/docs/TargetConfirmation.md +20 -0
  185. data/docs/TargetConfirmationAnyOf.md +20 -0
  186. data/docs/TargetConfirmationAnyOf1.md +18 -0
  187. data/docs/TargetMetrics.md +32 -0
  188. data/docs/TargetOptions.md +48 -0
  189. data/docs/TargetStatusConflictEncoded.md +20 -0
  190. data/docs/TextOverride.md +20 -0
  191. data/docs/TextUnit.md +15 -0
  192. data/docs/TikTokAccount.md +20 -0
  193. data/docs/TikTokAccountPosting.md +22 -0
  194. data/docs/TikTokAccountPostingAnyOf.md +20 -0
  195. data/docs/TikTokAccountPostingAnyOf1.md +20 -0
  196. data/docs/TikTokBlock.md +15 -0
  197. data/docs/TikTokCreator.md +32 -0
  198. data/docs/TikTokOptions.md +34 -0
  199. data/docs/TikTokPrivacyLevel.md +15 -0
  200. data/docs/TiktokApi.md +79 -0
  201. data/docs/TooManyInvitationsEncoded.md +18 -0
  202. data/docs/TopPost.md +30 -0
  203. data/docs/TranslationLanguage.md +15 -0
  204. data/docs/UnauthenticatedEncoded.md +18 -0
  205. data/docs/UnconfirmedReason.md +15 -0
  206. data/docs/UnknownChannelsEncoded.md +20 -0
  207. data/docs/UnknownMediaEncoded.md +20 -0
  208. data/docs/UnreadNotices.md +18 -0
  209. data/docs/UnsupportedMediaTypeEncoded.md +20 -0
  210. data/docs/UploadIncompleteEncoded.md +18 -0
  211. data/docs/UploadPart.md +22 -0
  212. data/docs/UploadRejectedEncoded.md +20 -0
  213. data/docs/UploadTarget.md +26 -0
  214. data/docs/UploadTargetAnyOf.md +22 -0
  215. data/docs/UploadTargetAnyOf1.md +24 -0
  216. data/docs/Usage.md +24 -0
  217. data/docs/WorkspaceMember.md +26 -0
  218. data/docs/WorkspaceNotFoundEncoded.md +18 -0
  219. data/docs/YouTubeOptions.md +32 -0
  220. data/docs/YouTubePrivacy.md +15 -0
  221. data/lib/peal/api/analytics_api.rb +185 -0
  222. data/lib/peal/api/api_keys_api.rb +228 -0
  223. data/lib/peal/api/assistant_api.rb +159 -0
  224. data/lib/peal/api/billing_api.rb +85 -0
  225. data/lib/peal/api/channels_api.rb +526 -0
  226. data/lib/peal/api/invitations_api.rb +228 -0
  227. data/lib/peal/api/media_api.rb +526 -0
  228. data/lib/peal/api/members_api.rb +85 -0
  229. data/lib/peal/api/notices_api.rb +272 -0
  230. data/lib/peal/api/notification_preferences_api.rb +147 -0
  231. data/lib/peal/api/posts_api.rb +993 -0
  232. data/lib/peal/api/session_api.rb +79 -0
  233. data/lib/peal/api/system_api.rb +134 -0
  234. data/lib/peal/api/tiktok_api.rb +91 -0
  235. data/lib/peal/api_client.rb +441 -0
  236. data/lib/peal/api_error.rb +58 -0
  237. data/lib/peal/api_model_base.rb +88 -0
  238. data/lib/peal/configuration.rb +392 -0
  239. data/lib/peal/models/already_member_encoded.rb +201 -0
  240. data/lib/peal/models/alt_text_too_long_encoded.rb +245 -0
  241. data/lib/peal/models/analytics_summary.rb +361 -0
  242. data/lib/peal/models/api_key.rb +293 -0
  243. data/lib/peal/models/api_key_not_found_encoded.rb +201 -0
  244. data/lib/peal/models/api_keys_revoke404_response.rb +103 -0
  245. data/lib/peal/models/assistant_action.rb +105 -0
  246. data/lib/peal/models/assistant_action_any_of.rb +227 -0
  247. data/lib/peal/models/assistant_action_any_of1.rb +227 -0
  248. data/lib/peal/models/assistant_action_any_of2.rb +227 -0
  249. data/lib/peal/models/assistant_action_any_of3.rb +201 -0
  250. data/lib/peal/models/assistant_failed_encoded.rb +229 -0
  251. data/lib/peal/models/assistant_input_rejected_encoded.rb +273 -0
  252. data/lib/peal/models/assistant_quota_exceeded_encoded.rb +271 -0
  253. data/lib/peal/models/assistant_status.rb +335 -0
  254. data/lib/peal/models/assistant_tone.rb +43 -0
  255. data/lib/peal/models/assistant_unavailable_encoded.rb +201 -0
  256. data/lib/peal/models/attempt_result.rb +50 -0
  257. data/lib/peal/models/authorization.rb +177 -0
  258. data/lib/peal/models/billing.rb +303 -0
  259. data/lib/peal/models/billing_subscription.rb +263 -0
  260. data/lib/peal/models/channel.rb +313 -0
  261. data/lib/peal/models/channel_cannot_post_encoded.rb +229 -0
  262. data/lib/peal/models/channel_metrics.rb +425 -0
  263. data/lib/peal/models/channel_not_found_encoded.rb +201 -0
  264. data/lib/peal/models/channel_options.rb +203 -0
  265. data/lib/peal/models/channel_status.rb +104 -0
  266. data/lib/peal/models/channel_status_any_of.rb +201 -0
  267. data/lib/peal/models/channel_status_any_of1.rb +201 -0
  268. data/lib/peal/models/channel_status_any_of2.rb +227 -0
  269. data/lib/peal/models/channels_complete_connect404_response.rb +103 -0
  270. data/lib/peal/models/choosable_account.rb +253 -0
  271. data/lib/peal/models/choose_accounts.rb +241 -0
  272. data/lib/peal/models/connect_callback.rb +279 -0
  273. data/lib/peal/models/connect_channel.rb +207 -0
  274. data/lib/peal/models/connect_failed_encoded.rb +227 -0
  275. data/lib/peal/models/connect_failure_reason.rb +48 -0
  276. data/lib/peal/models/connect_outcome.rb +103 -0
  277. data/lib/peal/models/connect_outcome_any_of.rb +227 -0
  278. data/lib/peal/models/connect_outcome_any_of1.rb +281 -0
  279. data/lib/peal/models/connectable_platforms.rb +179 -0
  280. data/lib/peal/models/content_violation.rb +127 -0
  281. data/lib/peal/models/content_violation_any_of.rb +201 -0
  282. data/lib/peal/models/content_violation_any_of1.rb +227 -0
  283. data/lib/peal/models/content_violation_any_of10.rb +341 -0
  284. data/lib/peal/models/content_violation_any_of11.rb +253 -0
  285. data/lib/peal/models/content_violation_any_of12.rb +341 -0
  286. data/lib/peal/models/content_violation_any_of13.rb +341 -0
  287. data/lib/peal/models/content_violation_any_of14.rb +341 -0
  288. data/lib/peal/models/content_violation_any_of15.rb +341 -0
  289. data/lib/peal/models/content_violation_any_of16.rb +253 -0
  290. data/lib/peal/models/content_violation_any_of17.rb +305 -0
  291. data/lib/peal/models/content_violation_any_of18.rb +367 -0
  292. data/lib/peal/models/content_violation_any_of19.rb +367 -0
  293. data/lib/peal/models/content_violation_any_of2.rb +227 -0
  294. data/lib/peal/models/content_violation_any_of20.rb +367 -0
  295. data/lib/peal/models/content_violation_any_of21.rb +367 -0
  296. data/lib/peal/models/content_violation_any_of22.rb +411 -0
  297. data/lib/peal/models/content_violation_any_of23.rb +455 -0
  298. data/lib/peal/models/content_violation_any_of24.rb +419 -0
  299. data/lib/peal/models/content_violation_any_of24_maximum.rb +103 -0
  300. data/lib/peal/models/content_violation_any_of25.rb +367 -0
  301. data/lib/peal/models/content_violation_any_of3.rb +279 -0
  302. data/lib/peal/models/content_violation_any_of4.rb +279 -0
  303. data/lib/peal/models/content_violation_any_of5.rb +367 -0
  304. data/lib/peal/models/content_violation_any_of6.rb +279 -0
  305. data/lib/peal/models/content_violation_any_of7.rb +253 -0
  306. data/lib/peal/models/content_violation_any_of8.rb +367 -0
  307. data/lib/peal/models/content_violation_any_of9.rb +281 -0
  308. data/lib/peal/models/created_api_key.rb +203 -0
  309. data/lib/peal/models/database_unavailable_encoded.rb +201 -0
  310. data/lib/peal/models/draft_page.rb +191 -0
  311. data/lib/peal/models/effect_http_api_error_bad_request_encoded.rb +201 -0
  312. data/lib/peal/models/engagement_day.rb +364 -0
  313. data/lib/peal/models/failure_reason.rb +50 -0
  314. data/lib/peal/models/forbidden_encoded.rb +201 -0
  315. data/lib/peal/models/invalid_date_range_encoded.rb +201 -0
  316. data/lib/peal/models/invalid_time_range_encoded.rb +201 -0
  317. data/lib/peal/models/invalid_time_zone_encoded.rb +227 -0
  318. data/lib/peal/models/invitation.rb +307 -0
  319. data/lib/peal/models/invitation_not_found_encoded.rb +201 -0
  320. data/lib/peal/models/invitations_create409_response.rb +103 -0
  321. data/lib/peal/models/invitations_revoke404_response.rb +103 -0
  322. data/lib/peal/models/mark_notices_read.rb +197 -0
  323. data/lib/peal/models/me.rb +217 -0
  324. data/lib/peal/models/me_user.rb +317 -0
  325. data/lib/peal/models/media.rb +457 -0
  326. data/lib/peal/models/media_attachment.rb +212 -0
  327. data/lib/peal/models/media_content_type.rb +44 -0
  328. data/lib/peal/models/media_create422_response.rb +104 -0
  329. data/lib/peal/models/media_description.rb +163 -0
  330. data/lib/peal/models/media_dimensions.rb +239 -0
  331. data/lib/peal/models/media_get404_response.rb +103 -0
  332. data/lib/peal/models/media_in_use_encoded.rb +229 -0
  333. data/lib/peal/models/media_kind.rb +40 -0
  334. data/lib/peal/models/media_not_found_encoded.rb +201 -0
  335. data/lib/peal/models/media_page.rb +191 -0
  336. data/lib/peal/models/media_status.rb +105 -0
  337. data/lib/peal/models/media_status_any_of.rb +201 -0
  338. data/lib/peal/models/media_status_any_of1.rb +227 -0
  339. data/lib/peal/models/media_status_any_of2.rb +201 -0
  340. data/lib/peal/models/media_status_any_of3.rb +227 -0
  341. data/lib/peal/models/media_store_unavailable_encoded.rb +201 -0
  342. data/lib/peal/models/media_too_large_encoded.rb +317 -0
  343. data/lib/peal/models/media_usage.rb +207 -0
  344. data/lib/peal/models/membership.rb +295 -0
  345. data/lib/peal/models/metric_totals.rb +399 -0
  346. data/lib/peal/models/metrics_snapshot.rb +203 -0
  347. data/lib/peal/models/new_api_key.rb +277 -0
  348. data/lib/peal/models/new_invitation.rb +245 -0
  349. data/lib/peal/models/new_upload.rb +231 -0
  350. data/lib/peal/models/non_finite_number.rb +41 -0
  351. data/lib/peal/models/notice.rb +267 -0
  352. data/lib/peal/models/notice_channel.rb +225 -0
  353. data/lib/peal/models/notice_event.rb +106 -0
  354. data/lib/peal/models/notice_event_any_of.rb +251 -0
  355. data/lib/peal/models/notice_event_any_of1.rb +265 -0
  356. data/lib/peal/models/notice_event_any_of2.rb +239 -0
  357. data/lib/peal/models/notice_event_any_of3.rb +227 -0
  358. data/lib/peal/models/notice_event_any_of4.rb +253 -0
  359. data/lib/peal/models/notice_page.rb +191 -0
  360. data/lib/peal/models/notification_preferences.rb +203 -0
  361. data/lib/peal/models/notification_preferences_change.rb +169 -0
  362. data/lib/peal/models/notification_preferences_change_email.rb +187 -0
  363. data/lib/peal/models/notification_preferences_email.rb +255 -0
  364. data/lib/peal/models/paid_plan.rb +40 -0
  365. data/lib/peal/models/period_usage.rb +221 -0
  366. data/lib/peal/models/plan.rb +41 -0
  367. data/lib/peal/models/plan_allowances.rb +295 -0
  368. data/lib/peal/models/plan_limit.rb +42 -0
  369. data/lib/peal/models/plan_limit_reached_encoded.rb +271 -0
  370. data/lib/peal/models/plan_offer.rb +225 -0
  371. data/lib/peal/models/platform.rb +48 -0
  372. data/lib/peal/models/platform_unreachable_encoded.rb +201 -0
  373. data/lib/peal/models/post.rb +315 -0
  374. data/lib/peal/models/post_analytics.rb +205 -0
  375. data/lib/peal/models/post_content.rb +251 -0
  376. data/lib/peal/models/post_content_invalid_encoded.rb +229 -0
  377. data/lib/peal/models/post_draft.rb +216 -0
  378. data/lib/peal/models/post_metrics.rb +355 -0
  379. data/lib/peal/models/post_not_found_encoded.rb +201 -0
  380. data/lib/peal/models/post_outcome.rb +43 -0
  381. data/lib/peal/models/post_schedule.rb +203 -0
  382. data/lib/peal/models/post_status.rb +43 -0
  383. data/lib/peal/models/post_status_conflict_encoded.rb +227 -0
  384. data/lib/peal/models/post_target.rb +364 -0
  385. data/lib/peal/models/post_target_status.rb +44 -0
  386. data/lib/peal/models/posts_create422_response.rb +104 -0
  387. data/lib/peal/models/posts_get404_response.rb +103 -0
  388. data/lib/peal/models/posts_repost409_response.rb +103 -0
  389. data/lib/peal/models/posts_schedule422_response.rb +106 -0
  390. data/lib/peal/models/prepared_upload.rb +203 -0
  391. data/lib/peal/models/probe_state.rb +44 -0
  392. data/lib/peal/models/publication_attempt.rb +377 -0
  393. data/lib/peal/models/rejection_reason.rb +40 -0
  394. data/lib/peal/models/role.rb +43 -0
  395. data/lib/peal/models/schedule_in_past_encoded.rb +201 -0
  396. data/lib/peal/models/schedule_post.rb +240 -0
  397. data/lib/peal/models/signed_request.rb +255 -0
  398. data/lib/peal/models/subscription_status.rb +46 -0
  399. data/lib/peal/models/suggestion.rb +103 -0
  400. data/lib/peal/models/suggestion_any_of.rb +227 -0
  401. data/lib/peal/models/suggestion_any_of1.rb +229 -0
  402. data/lib/peal/models/suggestion_request.rb +212 -0
  403. data/lib/peal/models/target_confirmation.rb +103 -0
  404. data/lib/peal/models/target_confirmation_any_of.rb +228 -0
  405. data/lib/peal/models/target_confirmation_any_of1.rb +201 -0
  406. data/lib/peal/models/target_metrics.rb +319 -0
  407. data/lib/peal/models/target_options.rb +104 -0
  408. data/lib/peal/models/target_status_conflict_encoded.rb +227 -0
  409. data/lib/peal/models/text_override.rb +221 -0
  410. data/lib/peal/models/text_unit.rb +44 -0
  411. data/lib/peal/models/tik_tok_account.rb +203 -0
  412. data/lib/peal/models/tik_tok_account_posting.rb +103 -0
  413. data/lib/peal/models/tik_tok_account_posting_any_of.rb +227 -0
  414. data/lib/peal/models/tik_tok_account_posting_any_of1.rb +227 -0
  415. data/lib/peal/models/tik_tok_block.rb +41 -0
  416. data/lib/peal/models/tik_tok_creator.rb +357 -0
  417. data/lib/peal/models/tik_tok_options.rb +274 -0
  418. data/lib/peal/models/tik_tok_privacy_level.rb +42 -0
  419. data/lib/peal/models/too_many_invitations_encoded.rb +201 -0
  420. data/lib/peal/models/top_post.rb +337 -0
  421. data/lib/peal/models/translation_language.rb +48 -0
  422. data/lib/peal/models/unauthenticated_encoded.rb +201 -0
  423. data/lib/peal/models/unconfirmed_reason.rb +42 -0
  424. data/lib/peal/models/unknown_channels_encoded.rb +229 -0
  425. data/lib/peal/models/unknown_media_encoded.rb +229 -0
  426. data/lib/peal/models/unread_notices.rb +195 -0
  427. data/lib/peal/models/unsupported_media_type_encoded.rb +227 -0
  428. data/lib/peal/models/upload_incomplete_encoded.rb +201 -0
  429. data/lib/peal/models/upload_part.rb +265 -0
  430. data/lib/peal/models/upload_rejected_encoded.rb +227 -0
  431. data/lib/peal/models/upload_target.rb +103 -0
  432. data/lib/peal/models/upload_target_any_of.rb +253 -0
  433. data/lib/peal/models/upload_target_any_of1.rb +299 -0
  434. data/lib/peal/models/usage.rb +291 -0
  435. data/lib/peal/models/workspace_member.rb +281 -0
  436. data/lib/peal/models/workspace_not_found_encoded.rb +201 -0
  437. data/lib/peal/models/you_tube_options.rb +324 -0
  438. data/lib/peal/models/you_tube_privacy.rb +41 -0
  439. data/lib/peal/version.rb +15 -0
  440. data/lib/peal.rb +254 -0
  441. data/peal.gemspec +41 -0
  442. data/project.json +17 -0
  443. metadata +549 -0
@@ -0,0 +1,251 @@
1
+ =begin
2
+ #Peal API
3
+
4
+ #Schedule posts across social platforms, follow how they did, and manage a Peal workspace's channels, media and members.
5
+
6
+ The version of the OpenAPI document: 0.0.1
7
+ Contact: hello@peal.social
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.27.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Peal
17
+ class PostContent < ApiModelBase
18
+ attr_accessor :media
19
+
20
+ attr_accessor :overrides
21
+
22
+ attr_accessor :text
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'media' => :'media',
28
+ :'overrides' => :'overrides',
29
+ :'text' => :'text'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'media' => :'Array<MediaAttachment>',
47
+ :'overrides' => :'Array<TextOverride>',
48
+ :'text' => :'String'
49
+ }
50
+ end
51
+
52
+ # List of attributes with nullable: true
53
+ def self.openapi_nullable
54
+ Set.new([
55
+ ])
56
+ end
57
+
58
+ # Returns attribute type mapping
59
+ def self.acceptable_openapi_types
60
+ openapi_types
61
+ end
62
+
63
+ # Returns the nullable attributes
64
+ def self.acceptable_openapi_nullable
65
+ openapi_nullable
66
+ end
67
+
68
+ # Initializes the object
69
+ # @param [Hash] attributes Model attributes in the form of hash
70
+ def initialize(attributes = {})
71
+ if (!attributes.is_a?(Hash))
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Peal::PostContent` initialize method"
73
+ end
74
+
75
+ # check to see if the attribute exists and convert string to symbol for hash key
76
+ acceptable_attribute_map = self.class.acceptable_attribute_map
77
+ attributes = attributes.each_with_object({}) { |(k, v), h|
78
+ if (!acceptable_attribute_map.key?(k.to_sym))
79
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Peal::PostContent`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
80
+ end
81
+ h[k.to_sym] = v
82
+ }
83
+
84
+ if attributes.key?(:'media')
85
+ if (value = attributes[:'media']).is_a?(Array)
86
+ self.media = value
87
+ end
88
+ else
89
+ self.media = nil
90
+ end
91
+
92
+ if attributes.key?(:'overrides')
93
+ if (value = attributes[:'overrides']).is_a?(Array)
94
+ self.overrides = value
95
+ end
96
+ else
97
+ self.overrides = nil
98
+ end
99
+
100
+ if attributes.key?(:'text')
101
+ self.text = attributes[:'text']
102
+ else
103
+ self.text = nil
104
+ end
105
+ end
106
+
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properties with the reasons
109
+ def list_invalid_properties
110
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
111
+ invalid_properties = Array.new
112
+ if @media.nil?
113
+ invalid_properties.push('invalid value for "media", media cannot be nil.')
114
+ end
115
+
116
+ if @media.length > 20
117
+ invalid_properties.push('invalid value for "media", number of items must be less than or equal to 20.')
118
+ end
119
+
120
+ if @overrides.nil?
121
+ invalid_properties.push('invalid value for "overrides", overrides cannot be nil.')
122
+ end
123
+
124
+ if @text.nil?
125
+ invalid_properties.push('invalid value for "text", text cannot be nil.')
126
+ end
127
+
128
+ if @text.to_s.length > 65536
129
+ invalid_properties.push('invalid value for "text", the character length must be smaller than or equal to 65536.')
130
+ end
131
+
132
+ invalid_properties
133
+ end
134
+
135
+ # Check to see if the all the properties in the model are valid
136
+ # @return true if the model is valid
137
+ def valid?
138
+ warn '[DEPRECATED] the `valid?` method is obsolete'
139
+ return false if @media.nil?
140
+ return false if @media.length > 20
141
+ return false if @overrides.nil?
142
+ return false if @text.nil?
143
+ return false if @text.to_s.length > 65536
144
+ true
145
+ end
146
+
147
+ # Custom attribute writer method with validation
148
+ # @param [Object] media Value to be assigned
149
+ def media=(media)
150
+ if media.nil?
151
+ fail ArgumentError, 'media cannot be nil'
152
+ end
153
+
154
+ if media.length > 20
155
+ fail ArgumentError, 'invalid value for "media", number of items must be less than or equal to 20.'
156
+ end
157
+
158
+ @media = media
159
+ end
160
+
161
+ # Custom attribute writer method with validation
162
+ # @param [Object] overrides Value to be assigned
163
+ def overrides=(overrides)
164
+ if overrides.nil?
165
+ fail ArgumentError, 'overrides cannot be nil'
166
+ end
167
+
168
+ @overrides = overrides
169
+ end
170
+
171
+ # Custom attribute writer method with validation
172
+ # @param [Object] text Value to be assigned
173
+ def text=(text)
174
+ if text.nil?
175
+ fail ArgumentError, 'text cannot be nil'
176
+ end
177
+
178
+ if text.to_s.length > 65536
179
+ fail ArgumentError, 'invalid value for "text", the character length must be smaller than or equal to 65536.'
180
+ end
181
+
182
+ @text = text
183
+ end
184
+
185
+ # Checks equality by comparing each attribute.
186
+ # @param [Object] Object to be compared
187
+ def ==(o)
188
+ return true if self.equal?(o)
189
+ self.class == o.class &&
190
+ media == o.media &&
191
+ overrides == o.overrides &&
192
+ text == o.text
193
+ end
194
+
195
+ # @see the `==` method
196
+ # @param [Object] Object to be compared
197
+ def eql?(o)
198
+ self == o
199
+ end
200
+
201
+ # Calculates hash code according to all attributes.
202
+ # @return [Integer] Hash code
203
+ def hash
204
+ [media, overrides, text].hash
205
+ end
206
+
207
+ # Builds the object from hash
208
+ # @param [Hash] attributes Model attributes in the form of hash
209
+ # @return [Object] Returns the model itself
210
+ def self.build_from_hash(attributes)
211
+ return nil unless attributes.is_a?(Hash)
212
+ attributes = attributes.transform_keys(&:to_sym)
213
+ # include attributes inherited from allOf parents (the nearest declaration wins)
214
+ map = acceptable_attribute_map
215
+ transformed_hash = {}
216
+ acceptable_openapi_types.each_pair do |key, type|
217
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
218
+ transformed_hash["#{key}"] = nil
219
+ elsif type =~ /\AArray<(.*)>/i
220
+ # check to ensure the input is an array given that the attribute
221
+ # is documented as an array but the input is not
222
+ if attributes[map[key]].is_a?(Array)
223
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
224
+ end
225
+ elsif !attributes[map[key]].nil?
226
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
227
+ end
228
+ end
229
+ new(transformed_hash)
230
+ end
231
+
232
+ # Returns the object in the form of hash
233
+ # @return [Hash] Returns the object in the form of hash
234
+ def to_hash
235
+ hash = {}
236
+ # include attributes inherited from allOf parents (the nearest declaration wins)
237
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
238
+ value = self.send(attr)
239
+ if value.nil?
240
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
241
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
242
+ end
243
+
244
+ hash[param] = _to_hash(value)
245
+ end
246
+ hash
247
+ end
248
+
249
+ end
250
+
251
+ end
@@ -0,0 +1,229 @@
1
+ =begin
2
+ #Peal API
3
+
4
+ #Schedule posts across social platforms, follow how they did, and manage a Peal workspace's channels, media and members.
5
+
6
+ The version of the OpenAPI document: 0.0.1
7
+ Contact: hello@peal.social
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.27.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Peal
17
+ class PostContentInvalidEncoded < ApiModelBase
18
+ attr_accessor :_tag
19
+
20
+ attr_accessor :violations
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'_tag' => :'_tag',
48
+ :'violations' => :'violations'
49
+ }
50
+ end
51
+
52
+ # Returns attribute mapping this model knows about
53
+ def self.acceptable_attribute_map
54
+ attribute_map
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ acceptable_attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'_tag' => :'String',
66
+ :'violations' => :'Array<ContentViolation>'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ ])
74
+ end
75
+
76
+ # Returns attribute type mapping
77
+ def self.acceptable_openapi_types
78
+ openapi_types
79
+ end
80
+
81
+ # Returns the nullable attributes
82
+ def self.acceptable_openapi_nullable
83
+ openapi_nullable
84
+ end
85
+
86
+ # Initializes the object
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ def initialize(attributes = {})
89
+ if (!attributes.is_a?(Hash))
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Peal::PostContentInvalidEncoded` initialize method"
91
+ end
92
+
93
+ # check to see if the attribute exists and convert string to symbol for hash key
94
+ acceptable_attribute_map = self.class.acceptable_attribute_map
95
+ attributes = attributes.each_with_object({}) { |(k, v), h|
96
+ if (!acceptable_attribute_map.key?(k.to_sym))
97
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Peal::PostContentInvalidEncoded`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
98
+ end
99
+ h[k.to_sym] = v
100
+ }
101
+
102
+ if attributes.key?(:'_tag')
103
+ self._tag = attributes[:'_tag']
104
+ else
105
+ self._tag = nil
106
+ end
107
+
108
+ if attributes.key?(:'violations')
109
+ if (value = attributes[:'violations']).is_a?(Array)
110
+ self.violations = value
111
+ end
112
+ else
113
+ self.violations = nil
114
+ end
115
+ end
116
+
117
+ # Show invalid properties with the reasons. Usually used together with valid?
118
+ # @return Array for valid properties with the reasons
119
+ def list_invalid_properties
120
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
121
+ invalid_properties = Array.new
122
+ if @_tag.nil?
123
+ invalid_properties.push('invalid value for "_tag", _tag cannot be nil.')
124
+ end
125
+
126
+ if @violations.nil?
127
+ invalid_properties.push('invalid value for "violations", violations cannot be nil.')
128
+ end
129
+
130
+ invalid_properties
131
+ end
132
+
133
+ # Check to see if the all the properties in the model are valid
134
+ # @return true if the model is valid
135
+ def valid?
136
+ warn '[DEPRECATED] the `valid?` method is obsolete'
137
+ return false if @_tag.nil?
138
+ _tag_validator = EnumAttributeValidator.new('String', ["PostContentInvalid"])
139
+ return false unless _tag_validator.valid?(@_tag)
140
+ return false if @violations.nil?
141
+ true
142
+ end
143
+
144
+ # Custom attribute writer method checking allowed values (enum).
145
+ # @param [Object] _tag Object to be assigned
146
+ def _tag=(_tag)
147
+ validator = EnumAttributeValidator.new('String', ["PostContentInvalid"])
148
+ unless validator.valid?(_tag)
149
+ fail ArgumentError, "invalid value for \"_tag\", must be one of #{validator.allowable_values}."
150
+ end
151
+ @_tag = _tag
152
+ end
153
+
154
+ # Custom attribute writer method with validation
155
+ # @param [Object] violations Value to be assigned
156
+ def violations=(violations)
157
+ if violations.nil?
158
+ fail ArgumentError, 'violations cannot be nil'
159
+ end
160
+
161
+ @violations = violations
162
+ end
163
+
164
+ # Checks equality by comparing each attribute.
165
+ # @param [Object] Object to be compared
166
+ def ==(o)
167
+ return true if self.equal?(o)
168
+ self.class == o.class &&
169
+ _tag == o._tag &&
170
+ violations == o.violations
171
+ end
172
+
173
+ # @see the `==` method
174
+ # @param [Object] Object to be compared
175
+ def eql?(o)
176
+ self == o
177
+ end
178
+
179
+ # Calculates hash code according to all attributes.
180
+ # @return [Integer] Hash code
181
+ def hash
182
+ [_tag, violations].hash
183
+ end
184
+
185
+ # Builds the object from hash
186
+ # @param [Hash] attributes Model attributes in the form of hash
187
+ # @return [Object] Returns the model itself
188
+ def self.build_from_hash(attributes)
189
+ return nil unless attributes.is_a?(Hash)
190
+ attributes = attributes.transform_keys(&:to_sym)
191
+ # include attributes inherited from allOf parents (the nearest declaration wins)
192
+ map = acceptable_attribute_map
193
+ transformed_hash = {}
194
+ acceptable_openapi_types.each_pair do |key, type|
195
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
196
+ transformed_hash["#{key}"] = nil
197
+ elsif type =~ /\AArray<(.*)>/i
198
+ # check to ensure the input is an array given that the attribute
199
+ # is documented as an array but the input is not
200
+ if attributes[map[key]].is_a?(Array)
201
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
202
+ end
203
+ elsif !attributes[map[key]].nil?
204
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
205
+ end
206
+ end
207
+ new(transformed_hash)
208
+ end
209
+
210
+ # Returns the object in the form of hash
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_hash
213
+ hash = {}
214
+ # include attributes inherited from allOf parents (the nearest declaration wins)
215
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
216
+ value = self.send(attr)
217
+ if value.nil?
218
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
219
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
220
+ end
221
+
222
+ hash[param] = _to_hash(value)
223
+ end
224
+ hash
225
+ end
226
+
227
+ end
228
+
229
+ end
@@ -0,0 +1,216 @@
1
+ =begin
2
+ #Peal API
3
+
4
+ #Schedule posts across social platforms, follow how they did, and manage a Peal workspace's channels, media and members.
5
+
6
+ The version of the OpenAPI document: 0.0.1
7
+ Contact: hello@peal.social
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.27.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Peal
17
+ class PostDraft < ApiModelBase
18
+ attr_accessor :channel_ids
19
+
20
+ attr_accessor :content
21
+
22
+ attr_accessor :options
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'channel_ids' => :'channelIds',
28
+ :'content' => :'content',
29
+ :'options' => :'options'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'channel_ids' => :'Array<String>',
47
+ :'content' => :'PostContent',
48
+ :'options' => :'Array<ChannelOptions>'
49
+ }
50
+ end
51
+
52
+ # List of attributes with nullable: true
53
+ def self.openapi_nullable
54
+ Set.new([
55
+ ])
56
+ end
57
+
58
+ # Returns attribute type mapping
59
+ def self.acceptable_openapi_types
60
+ openapi_types
61
+ end
62
+
63
+ # Returns the nullable attributes
64
+ def self.acceptable_openapi_nullable
65
+ openapi_nullable
66
+ end
67
+
68
+ # Initializes the object
69
+ # @param [Hash] attributes Model attributes in the form of hash
70
+ def initialize(attributes = {})
71
+ if (!attributes.is_a?(Hash))
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Peal::PostDraft` initialize method"
73
+ end
74
+
75
+ # check to see if the attribute exists and convert string to symbol for hash key
76
+ acceptable_attribute_map = self.class.acceptable_attribute_map
77
+ attributes = attributes.each_with_object({}) { |(k, v), h|
78
+ if (!acceptable_attribute_map.key?(k.to_sym))
79
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Peal::PostDraft`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
80
+ end
81
+ h[k.to_sym] = v
82
+ }
83
+
84
+ if attributes.key?(:'channel_ids')
85
+ if (value = attributes[:'channel_ids']).is_a?(Array)
86
+ self.channel_ids = value
87
+ end
88
+ else
89
+ self.channel_ids = nil
90
+ end
91
+
92
+ if attributes.key?(:'content')
93
+ self.content = attributes[:'content']
94
+ else
95
+ self.content = nil
96
+ end
97
+
98
+ if attributes.key?(:'options')
99
+ if (value = attributes[:'options']).is_a?(Array)
100
+ self.options = value
101
+ end
102
+ end
103
+ end
104
+
105
+ # Show invalid properties with the reasons. Usually used together with valid?
106
+ # @return Array for valid properties with the reasons
107
+ def list_invalid_properties
108
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
109
+ invalid_properties = Array.new
110
+ if @channel_ids.nil?
111
+ invalid_properties.push('invalid value for "channel_ids", channel_ids cannot be nil.')
112
+ end
113
+
114
+ if @content.nil?
115
+ invalid_properties.push('invalid value for "content", content cannot be nil.')
116
+ end
117
+
118
+ invalid_properties
119
+ end
120
+
121
+ # Check to see if the all the properties in the model are valid
122
+ # @return true if the model is valid
123
+ def valid?
124
+ warn '[DEPRECATED] the `valid?` method is obsolete'
125
+ return false if @channel_ids.nil?
126
+ return false if @content.nil?
127
+ true
128
+ end
129
+
130
+ # Custom attribute writer method with validation
131
+ # @param [Object] channel_ids Value to be assigned
132
+ def channel_ids=(channel_ids)
133
+ if channel_ids.nil?
134
+ fail ArgumentError, 'channel_ids cannot be nil'
135
+ end
136
+
137
+ @channel_ids = channel_ids
138
+ end
139
+
140
+ # Custom attribute writer method with validation
141
+ # @param [Object] content Value to be assigned
142
+ def content=(content)
143
+ if content.nil?
144
+ fail ArgumentError, 'content cannot be nil'
145
+ end
146
+
147
+ @content = content
148
+ end
149
+
150
+ # Checks equality by comparing each attribute.
151
+ # @param [Object] Object to be compared
152
+ def ==(o)
153
+ return true if self.equal?(o)
154
+ self.class == o.class &&
155
+ channel_ids == o.channel_ids &&
156
+ content == o.content &&
157
+ options == o.options
158
+ end
159
+
160
+ # @see the `==` method
161
+ # @param [Object] Object to be compared
162
+ def eql?(o)
163
+ self == o
164
+ end
165
+
166
+ # Calculates hash code according to all attributes.
167
+ # @return [Integer] Hash code
168
+ def hash
169
+ [channel_ids, content, options].hash
170
+ end
171
+
172
+ # Builds the object from hash
173
+ # @param [Hash] attributes Model attributes in the form of hash
174
+ # @return [Object] Returns the model itself
175
+ def self.build_from_hash(attributes)
176
+ return nil unless attributes.is_a?(Hash)
177
+ attributes = attributes.transform_keys(&:to_sym)
178
+ # include attributes inherited from allOf parents (the nearest declaration wins)
179
+ map = acceptable_attribute_map
180
+ transformed_hash = {}
181
+ acceptable_openapi_types.each_pair do |key, type|
182
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
183
+ transformed_hash["#{key}"] = nil
184
+ elsif type =~ /\AArray<(.*)>/i
185
+ # check to ensure the input is an array given that the attribute
186
+ # is documented as an array but the input is not
187
+ if attributes[map[key]].is_a?(Array)
188
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
189
+ end
190
+ elsif !attributes[map[key]].nil?
191
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
192
+ end
193
+ end
194
+ new(transformed_hash)
195
+ end
196
+
197
+ # Returns the object in the form of hash
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_hash
200
+ hash = {}
201
+ # include attributes inherited from allOf parents (the nearest declaration wins)
202
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
203
+ value = self.send(attr)
204
+ if value.nil?
205
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
206
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
207
+ end
208
+
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ end
215
+
216
+ end