post-for-me 0.1.0.pre.alpha.4 → 0.1.0.pre.alpha.6

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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +11 -9
  4. data/lib/post_for_me/internal/transport/pooled_net_requester.rb +1 -9
  5. data/lib/post_for_me/internal/type/base_model.rb +1 -8
  6. data/lib/post_for_me/internal/util.rb +1 -1
  7. data/lib/post_for_me/models/bluesky_configuration_dto.rb +24 -0
  8. data/lib/post_for_me/models/create_social_post.rb +25 -373
  9. data/lib/post_for_me/models/facebook_configuration_dto.rb +46 -0
  10. data/lib/post_for_me/models/instagram_configuration_dto.rb +54 -0
  11. data/lib/post_for_me/models/linkedin_configuration_dto.rb +24 -0
  12. data/lib/post_for_me/models/pinterest_configuration_dto.rb +40 -0
  13. data/lib/post_for_me/models/platform_configurations_dto.rb +88 -0
  14. data/lib/post_for_me/models/social_account.rb +1 -1
  15. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +10 -4
  16. data/lib/post_for_me/models/social_account_create_params.rb +105 -0
  17. data/lib/post_for_me/models/social_post.rb +197 -12
  18. data/lib/post_for_me/models/social_post_list_params.rb +1 -4
  19. data/lib/post_for_me/models/threads_configuration_dto.rb +45 -0
  20. data/lib/post_for_me/models/tiktok_configuration.rb +13 -1
  21. data/lib/post_for_me/models/twitter_configuration_dto.rb +24 -0
  22. data/lib/post_for_me/models/youtube_configuration_dto.rb +32 -0
  23. data/lib/post_for_me/models.rb +20 -0
  24. data/lib/post_for_me/resources/social_accounts.rb +42 -1
  25. data/lib/post_for_me/resources/social_posts.rb +2 -2
  26. data/lib/post_for_me/version.rb +1 -1
  27. data/lib/post_for_me.rb +10 -0
  28. data/rbi/post_for_me/errors.rbi +2 -2
  29. data/rbi/post_for_me/models/bluesky_configuration_dto.rbi +45 -0
  30. data/rbi/post_for_me/models/create_social_post.rbi +22 -863
  31. data/rbi/post_for_me/models/facebook_configuration_dto.rbi +101 -0
  32. data/rbi/post_for_me/models/instagram_configuration_dto.rbi +109 -0
  33. data/rbi/post_for_me/models/linkedin_configuration_dto.rbi +45 -0
  34. data/rbi/post_for_me/models/pinterest_configuration_dto.rbi +64 -0
  35. data/rbi/post_for_me/models/platform_configurations_dto.rbi +178 -0
  36. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +11 -0
  37. data/rbi/post_for_me/models/social_account_create_params.rbi +185 -0
  38. data/rbi/post_for_me/models/social_post.rbi +328 -13
  39. data/rbi/post_for_me/models/threads_configuration_dto.rbi +94 -0
  40. data/rbi/post_for_me/models/tiktok_configuration.rbi +10 -0
  41. data/rbi/post_for_me/models/twitter_configuration_dto.rbi +45 -0
  42. data/rbi/post_for_me/models/youtube_configuration_dto.rbi +56 -0
  43. data/rbi/post_for_me/models.rbi +20 -0
  44. data/rbi/post_for_me/resources/social_accounts.rbi +42 -0
  45. data/rbi/post_for_me/resources/social_posts.rbi +2 -6
  46. data/sig/post_for_me/models/bluesky_configuration_dto.rbs +15 -0
  47. data/sig/post_for_me/models/create_social_post.rbs +14 -278
  48. data/sig/post_for_me/models/facebook_configuration_dto.rbs +42 -0
  49. data/sig/post_for_me/models/instagram_configuration_dto.rbs +47 -0
  50. data/sig/post_for_me/models/linkedin_configuration_dto.rbs +15 -0
  51. data/sig/post_for_me/models/pinterest_configuration_dto.rbs +35 -0
  52. data/sig/post_for_me/models/platform_configurations_dto.rbs +65 -0
  53. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +7 -0
  54. data/sig/post_for_me/models/social_account_create_params.rbs +97 -0
  55. data/sig/post_for_me/models/social_post.rbs +155 -16
  56. data/sig/post_for_me/models/threads_configuration_dto.rbs +41 -0
  57. data/sig/post_for_me/models/tiktok_configuration.rbs +5 -0
  58. data/sig/post_for_me/models/twitter_configuration_dto.rbs +15 -0
  59. data/sig/post_for_me/models/youtube_configuration_dto.rbs +22 -0
  60. data/sig/post_for_me/models.rbs +20 -0
  61. data/sig/post_for_me/resources/social_accounts.rbs +14 -0
  62. data/sig/post_for_me/resources/social_posts.rbs +2 -2
  63. metadata +32 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b44217192501874d07ce7f1fa55774c8dad01d7b437c20278b4a7c222ce084fb
4
- data.tar.gz: 66a162db8dd3de002f526e6c0463909dbd4d81e3fa8c32a8444c7b1a5c637462
3
+ metadata.gz: 14e49500fe4b0e22415d22851da337728f8c84170402c3187bb895c67cce6006
4
+ data.tar.gz: e604b6aabe545d1ebf59d6d6d9759accb94b9500a728d1309901e605f85b2309
5
5
  SHA512:
6
- metadata.gz: '008321780b1df6949f15e142c0864e9d2f827c1b3f1ee575e199494220fd322abdc7797ab0ec5d293e72851add4c5d682740c45ec31e83fbb2254401e6e3ff47'
7
- data.tar.gz: e8dd9e7eb141012cbaf94fda1e262d55e76761cfb5e4d3aa7e20a24fb4d1fc53e0598b9ba073ceec5cd1f0e81e7186f97bf3d1d6e89c7b2e21d3ce7855f55d07
6
+ metadata.gz: b6ece2e36880c1bb16b779d70c7e0aa1ae50ef2ac9069c2e6effcff5b1032988dc364cece69b36588e1db6692287a3ec9c9a3b6e4b8a65b4d5d76ef4c7966e03
7
+ data.tar.gz: 2c4eb68eab05b96d49debe787889a3b753eeb9d587188f8b6fd719142ebdea0bdf77999de86e7cd21b725d1f9da3a0a862ec7455926c7ef9c4ea0159e8840bab
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.6 (2025-08-23)
4
+
5
+ Full Changelog: [v0.1.0-alpha.5...v0.1.0-alpha.6](https://github.com/DayMoonDevelopment/post-for-me-ruby/compare/v0.1.0-alpha.5...v0.1.0-alpha.6)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([0e3af6b](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/0e3af6bc9a6a2d504d46e258b52c4abdfd59e861))
10
+ * **api:** api update ([ad254cb](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/ad254cb4166a2cb3c3e5ef3f0bbec7a4c472e161))
11
+ * **api:** manual updates ([8f82af3](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/8f82af3f45bfa36142ed3ccf997befff54879787))
12
+ * **api:** manual updates ([f6f6902](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/f6f6902b6528c4a5ee9ac2f5646372ee9c8b792e))
13
+
14
+ ## 0.1.0-alpha.5 (2025-08-22)
15
+
16
+ Full Changelog: [v0.1.0-alpha.4...v0.1.0-alpha.5](https://github.com/DayMoonDevelopment/post-for-me-ruby/compare/v0.1.0-alpha.4...v0.1.0-alpha.5)
17
+
18
+ ### Features
19
+
20
+ * **api:** api update ([0eae2d6](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/0eae2d659f9b0faeb3e8bcddb12a273343314e3d))
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * bump sorbet version and fix new type errors from the breaking change ([c6ab64c](https://github.com/DayMoonDevelopment/post-for-me-ruby/commit/c6ab64c6459562d58a4858b6a9a47e9a1cdf6c73))
26
+
3
27
  ## 0.1.0-alpha.4 (2025-08-18)
4
28
 
5
29
  Full Changelog: [v0.1.0-alpha.3...v0.1.0-alpha.4](https://github.com/DayMoonDevelopment/post-for-me-ruby/compare/v0.1.0-alpha.3...v0.1.0-alpha.4)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "post-for-me", "~> 0.1.0.pre.alpha.4"
20
+ gem "post-for-me", "~> 0.1.0.pre.alpha.6"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -229,23 +229,25 @@ post_for_me.social_posts.create(**params)
229
229
  Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
230
230
 
231
231
  ```ruby
232
- # :draft
233
- puts(PostForMe::SocialPost::Status::DRAFT)
232
+ # :facebook
233
+ puts(PostForMe::SocialAccountCreateParams::Platform::FACEBOOK)
234
234
 
235
- # Revealed type: `T.all(PostForMe::SocialPost::Status, Symbol)`
236
- T.reveal_type(PostForMe::SocialPost::Status::DRAFT)
235
+ # Revealed type: `T.all(PostForMe::SocialAccountCreateParams::Platform, Symbol)`
236
+ T.reveal_type(PostForMe::SocialAccountCreateParams::Platform::FACEBOOK)
237
237
  ```
238
238
 
239
239
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
240
240
 
241
241
  ```ruby
242
- PostForMe::SocialPost.new(
243
- status: PostForMe::SocialPost::Status::DRAFT,
242
+ # Using the enum constants preserves the tagged type information:
243
+ post_for_me.social_accounts.create(
244
+ platform: PostForMe::SocialAccountCreateParams::Platform::FACEBOOK,
244
245
  # …
245
246
  )
246
247
 
247
- PostForMe::SocialPost.new(
248
- status: :draft,
248
+ # Literal values are also permissible:
249
+ post_for_me.social_accounts.create(
250
+ platform: :facebook,
249
251
  # …
250
252
  )
251
253
  ```
@@ -193,15 +193,7 @@ module PostForMe
193
193
  end
194
194
 
195
195
  define_sorbet_constant!(:Request) do
196
- T.type_alias do
197
- {
198
- method: Symbol,
199
- url: URI::Generic,
200
- headers: T::Hash[String, String],
201
- body: T.anything,
202
- deadline: Float
203
- }
204
- end
196
+ T.type_alias { {method: Symbol, url: URI::Generic, headers: T::Hash[String, String], body: T.anything, deadline: Float} }
205
197
  end
206
198
  end
207
199
  end
@@ -64,14 +64,7 @@ module PostForMe
64
64
  setter = :"#{name_sym}="
65
65
  api_name = info.fetch(:api_name, name_sym)
66
66
  nilable = info.fetch(:nil?, false)
67
- const = if required && !nilable
68
- info.fetch(
69
- :const,
70
- PostForMe::Internal::OMIT
71
- )
72
- else
73
- PostForMe::Internal::OMIT
74
- end
67
+ const = required && !nilable ? info.fetch(:const, PostForMe::Internal::OMIT) : PostForMe::Internal::OMIT
75
68
 
76
69
  [name_sym, setter].each { undef_method(_1) } if known_fields.key?(name_sym)
77
70
 
@@ -244,7 +244,7 @@ module PostForMe
244
244
  #
245
245
  # @return [String]
246
246
  def uri_origin(uri)
247
- "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}"
247
+ "#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}"
248
248
  end
249
249
 
250
250
  # @api private
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PostForMe
4
+ module Models
5
+ class BlueskyConfigurationDto < PostForMe::Internal::Type::BaseModel
6
+ # @!attribute caption
7
+ # Overrides the `caption` from the post
8
+ #
9
+ # @return [Object, nil]
10
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
11
+
12
+ # @!attribute media
13
+ # Overrides the `media` from the post
14
+ #
15
+ # @return [Array<String>, nil]
16
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
17
+
18
+ # @!method initialize(caption: nil, media: nil)
19
+ # @param caption [Object, nil] Overrides the `caption` from the post
20
+ #
21
+ # @param media [Array<String>, nil] Overrides the `media` from the post
22
+ end
23
+ end
24
+ end
@@ -48,12 +48,8 @@ module PostForMe
48
48
  # @!attribute platform_configurations
49
49
  # Platform-specific configurations for the post
50
50
  #
51
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations, nil]
52
- optional :platform_configurations,
53
- -> {
54
- PostForMe::CreateSocialPost::PlatformConfigurations
55
- },
56
- nil?: true
51
+ # @return [PostForMe::Models::PlatformConfigurationsDto, nil]
52
+ optional :platform_configurations, -> { PostForMe::PlatformConfigurationsDto }, nil?: true
57
53
 
58
54
  # @!attribute scheduled_at
59
55
  # Scheduled date and time for the post, setting to null or undefined will post
@@ -78,7 +74,7 @@ module PostForMe
78
74
  #
79
75
  # @param media [Array<PostForMe::Models::CreateSocialPost::Media>, nil] Array of media URLs associated with the post
80
76
  #
81
- # @param platform_configurations [PostForMe::Models::CreateSocialPost::PlatformConfigurations, nil] Platform-specific configurations for the post
77
+ # @param platform_configurations [PostForMe::Models::PlatformConfigurationsDto, nil] Platform-specific configurations for the post
82
78
  #
83
79
  # @param scheduled_at [Time, nil] Scheduled date and time for the post, setting to null or undefined will post ins
84
80
 
@@ -144,6 +140,19 @@ module PostForMe
144
140
  # @return [Boolean, nil]
145
141
  optional :disclose_your_brand, PostForMe::Internal::Type::Boolean, nil?: true
146
142
 
143
+ # @!attribute is_ai_generated
144
+ # Flag content as AI generated on TikTok
145
+ #
146
+ # @return [Boolean, nil]
147
+ optional :is_ai_generated, PostForMe::Internal::Type::Boolean, nil?: true
148
+
149
+ # @!attribute is_draft
150
+ # Will create a draft upload to TikTok, posting will need to be completed from
151
+ # within the app
152
+ #
153
+ # @return [Boolean, nil]
154
+ optional :is_draft, PostForMe::Internal::Type::Boolean, nil?: true
155
+
147
156
  # @!attribute link
148
157
  # Pinterest post link
149
158
  #
@@ -176,7 +185,11 @@ module PostForMe
176
185
  # @return [String, nil]
177
186
  optional :title, String, nil?: true
178
187
 
179
- # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, board_ids: nil, caption: nil, disclose_branded_content: nil, disclose_your_brand: nil, link: nil, media: nil, placement: nil, privacy_status: nil, title: nil)
188
+ # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, board_ids: nil, caption: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, media: nil, placement: nil, privacy_status: nil, title: nil)
189
+ # Some parameter documentations has been truncated, see
190
+ # {PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration} for
191
+ # more details.
192
+ #
180
193
  # Configuration for the social account
181
194
  #
182
195
  # @param allow_comment [Boolean, nil] Allow comments on TikTok
@@ -193,6 +206,10 @@ module PostForMe
193
206
  #
194
207
  # @param disclose_your_brand [Boolean, nil] Disclose your brand on TikTok
195
208
  #
209
+ # @param is_ai_generated [Boolean, nil] Flag content as AI generated on TikTok
210
+ #
211
+ # @param is_draft [Boolean, nil] Will create a draft upload to TikTok, posting will need to be completed from wit
212
+ #
196
213
  # @param link [String, nil] Pinterest post link
197
214
  #
198
215
  # @param media [Array<String>, nil] Overrides the `media` from the post
@@ -245,371 +262,6 @@ module PostForMe
245
262
  #
246
263
  # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
247
264
  end
248
-
249
- # @see PostForMe::Models::CreateSocialPost#platform_configurations
250
- class PlatformConfigurations < PostForMe::Internal::Type::BaseModel
251
- # @!attribute bluesky
252
- # Bluesky configuration
253
- #
254
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Bluesky, nil]
255
- optional :bluesky, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Bluesky }, nil?: true
256
-
257
- # @!attribute facebook
258
- # Facebook configuration
259
- #
260
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Facebook, nil]
261
- optional :facebook, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Facebook }, nil?: true
262
-
263
- # @!attribute instagram
264
- # Instagram configuration
265
- #
266
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Instagram, nil]
267
- optional :instagram, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Instagram }, nil?: true
268
-
269
- # @!attribute linkedin
270
- # LinkedIn configuration
271
- #
272
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Linkedin, nil]
273
- optional :linkedin, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Linkedin }, nil?: true
274
-
275
- # @!attribute pinterest
276
- # Pinterest configuration
277
- #
278
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Pinterest, nil]
279
- optional :pinterest, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Pinterest }, nil?: true
280
-
281
- # @!attribute threads
282
- # Threads configuration
283
- #
284
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads, nil]
285
- optional :threads, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Threads }, nil?: true
286
-
287
- # @!attribute tiktok
288
- # TikTok configuration
289
- #
290
- # @return [PostForMe::Models::TiktokConfiguration, nil]
291
- optional :tiktok, -> { PostForMe::TiktokConfiguration }, nil?: true
292
-
293
- # @!attribute tiktok_business
294
- # TikTok configuration
295
- #
296
- # @return [PostForMe::Models::TiktokConfiguration, nil]
297
- optional :tiktok_business, -> { PostForMe::TiktokConfiguration }, nil?: true
298
-
299
- # @!attribute x
300
- # Twitter configuration
301
- #
302
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::X, nil]
303
- optional :x, -> { PostForMe::CreateSocialPost::PlatformConfigurations::X }, nil?: true
304
-
305
- # @!attribute youtube
306
- # YouTube configuration
307
- #
308
- # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Youtube, nil]
309
- optional :youtube, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Youtube }, nil?: true
310
-
311
- # @!method initialize(bluesky: nil, facebook: nil, instagram: nil, linkedin: nil, pinterest: nil, threads: nil, tiktok: nil, tiktok_business: nil, x: nil, youtube: nil)
312
- # Platform-specific configurations for the post
313
- #
314
- # @param bluesky [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Bluesky, nil] Bluesky configuration
315
- #
316
- # @param facebook [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Facebook, nil] Facebook configuration
317
- #
318
- # @param instagram [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Instagram, nil] Instagram configuration
319
- #
320
- # @param linkedin [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Linkedin, nil] LinkedIn configuration
321
- #
322
- # @param pinterest [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Pinterest, nil] Pinterest configuration
323
- #
324
- # @param threads [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads, nil] Threads configuration
325
- #
326
- # @param tiktok [PostForMe::Models::TiktokConfiguration, nil] TikTok configuration
327
- #
328
- # @param tiktok_business [PostForMe::Models::TiktokConfiguration, nil] TikTok configuration
329
- #
330
- # @param x [PostForMe::Models::CreateSocialPost::PlatformConfigurations::X, nil] Twitter configuration
331
- #
332
- # @param youtube [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Youtube, nil] YouTube configuration
333
-
334
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#bluesky
335
- class Bluesky < PostForMe::Internal::Type::BaseModel
336
- # @!attribute caption
337
- # Overrides the `caption` from the post
338
- #
339
- # @return [Object, nil]
340
- optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
341
-
342
- # @!attribute media
343
- # Overrides the `media` from the post
344
- #
345
- # @return [Array<String>, nil]
346
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
347
-
348
- # @!method initialize(caption: nil, media: nil)
349
- # Bluesky configuration
350
- #
351
- # @param caption [Object, nil] Overrides the `caption` from the post
352
- #
353
- # @param media [Array<String>, nil] Overrides the `media` from the post
354
- end
355
-
356
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#facebook
357
- class Facebook < PostForMe::Internal::Type::BaseModel
358
- # @!attribute caption
359
- # Overrides the `caption` from the post
360
- #
361
- # @return [Object, nil]
362
- optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
363
-
364
- # @!attribute media
365
- # Overrides the `media` from the post
366
- #
367
- # @return [Array<String>, nil]
368
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
369
-
370
- # @!attribute placement
371
- # Facebook post placement
372
- #
373
- # @return [Symbol, PostForMe::Models::CreateSocialPost::PlatformConfigurations::Facebook::Placement, nil]
374
- optional :placement,
375
- enum: -> { PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement },
376
- nil?: true
377
-
378
- # @!method initialize(caption: nil, media: nil, placement: nil)
379
- # Facebook configuration
380
- #
381
- # @param caption [Object, nil] Overrides the `caption` from the post
382
- #
383
- # @param media [Array<String>, nil] Overrides the `media` from the post
384
- #
385
- # @param placement [Symbol, PostForMe::Models::CreateSocialPost::PlatformConfigurations::Facebook::Placement, nil] Facebook post placement
386
-
387
- # Facebook post placement
388
- #
389
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations::Facebook#placement
390
- module Placement
391
- extend PostForMe::Internal::Type::Enum
392
-
393
- REELS = :reels
394
- STORIES = :stories
395
- TIMELINE = :timeline
396
-
397
- # @!method self.values
398
- # @return [Array<Symbol>]
399
- end
400
- end
401
-
402
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#instagram
403
- class Instagram < PostForMe::Internal::Type::BaseModel
404
- # @!attribute caption
405
- # Overrides the `caption` from the post
406
- #
407
- # @return [Object, nil]
408
- optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
409
-
410
- # @!attribute collaborators
411
- # Instagram usernames to be tagged as a collaborator
412
- #
413
- # @return [Array<String>, nil]
414
- optional :collaborators, PostForMe::Internal::Type::ArrayOf[String], nil?: true
415
-
416
- # @!attribute media
417
- # Overrides the `media` from the post
418
- #
419
- # @return [Array<String>, nil]
420
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
421
-
422
- # @!attribute placement
423
- # Instagram post placement
424
- #
425
- # @return [Symbol, PostForMe::Models::CreateSocialPost::PlatformConfigurations::Instagram::Placement, nil]
426
- optional :placement,
427
- enum: -> { PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement },
428
- nil?: true
429
-
430
- # @!method initialize(caption: nil, collaborators: nil, media: nil, placement: nil)
431
- # Instagram configuration
432
- #
433
- # @param caption [Object, nil] Overrides the `caption` from the post
434
- #
435
- # @param collaborators [Array<String>, nil] Instagram usernames to be tagged as a collaborator
436
- #
437
- # @param media [Array<String>, nil] Overrides the `media` from the post
438
- #
439
- # @param placement [Symbol, PostForMe::Models::CreateSocialPost::PlatformConfigurations::Instagram::Placement, nil] Instagram post placement
440
-
441
- # Instagram post placement
442
- #
443
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations::Instagram#placement
444
- module Placement
445
- extend PostForMe::Internal::Type::Enum
446
-
447
- REELS = :reels
448
- STORIES = :stories
449
- TIMELINE = :timeline
450
-
451
- # @!method self.values
452
- # @return [Array<Symbol>]
453
- end
454
- end
455
-
456
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#linkedin
457
- class Linkedin < PostForMe::Internal::Type::BaseModel
458
- # @!attribute caption
459
- # Overrides the `caption` from the post
460
- #
461
- # @return [Object, nil]
462
- optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
463
-
464
- # @!attribute media
465
- # Overrides the `media` from the post
466
- #
467
- # @return [Array<String>, nil]
468
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
469
-
470
- # @!method initialize(caption: nil, media: nil)
471
- # LinkedIn configuration
472
- #
473
- # @param caption [Object, nil] Overrides the `caption` from the post
474
- #
475
- # @param media [Array<String>, nil] Overrides the `media` from the post
476
- end
477
-
478
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#pinterest
479
- class Pinterest < PostForMe::Internal::Type::BaseModel
480
- # @!attribute board_ids
481
- # Pinterest board IDs
482
- #
483
- # @return [Array<String>, nil]
484
- optional :board_ids, PostForMe::Internal::Type::ArrayOf[String], nil?: true
485
-
486
- # @!attribute caption
487
- # Overrides the `caption` from the post
488
- #
489
- # @return [Object, nil]
490
- optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
491
-
492
- # @!attribute link
493
- # Pinterest post link
494
- #
495
- # @return [String, nil]
496
- optional :link, String, nil?: true
497
-
498
- # @!attribute media
499
- # Overrides the `media` from the post
500
- #
501
- # @return [Array<String>, nil]
502
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
503
-
504
- # @!method initialize(board_ids: nil, caption: nil, link: nil, media: nil)
505
- # Pinterest configuration
506
- #
507
- # @param board_ids [Array<String>, nil] Pinterest board IDs
508
- #
509
- # @param caption [Object, nil] Overrides the `caption` from the post
510
- #
511
- # @param link [String, nil] Pinterest post link
512
- #
513
- # @param media [Array<String>, nil] Overrides the `media` from the post
514
- end
515
-
516
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#threads
517
- class Threads < PostForMe::Internal::Type::BaseModel
518
- # @!attribute caption
519
- # Overrides the `caption` from the post
520
- #
521
- # @return [Object, nil]
522
- optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
523
-
524
- # @!attribute media
525
- # Overrides the `media` from the post
526
- #
527
- # @return [Array<String>, nil]
528
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
529
-
530
- # @!attribute placement
531
- # Threads post placement
532
- #
533
- # @return [Symbol, PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads::Placement, nil]
534
- optional :placement,
535
- enum: -> { PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Placement },
536
- nil?: true
537
-
538
- # @!method initialize(caption: nil, media: nil, placement: nil)
539
- # Threads configuration
540
- #
541
- # @param caption [Object, nil] Overrides the `caption` from the post
542
- #
543
- # @param media [Array<String>, nil] Overrides the `media` from the post
544
- #
545
- # @param placement [Symbol, PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads::Placement, nil] Threads post placement
546
-
547
- # Threads post placement
548
- #
549
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads#placement
550
- module Placement
551
- extend PostForMe::Internal::Type::Enum
552
-
553
- REELS = :reels
554
- TIMELINE = :timeline
555
-
556
- # @!method self.values
557
- # @return [Array<Symbol>]
558
- end
559
- end
560
-
561
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#x
562
- class X < PostForMe::Internal::Type::BaseModel
563
- # @!attribute caption
564
- # Overrides the `caption` from the post
565
- #
566
- # @return [Object, nil]
567
- optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
568
-
569
- # @!attribute media
570
- # Overrides the `media` from the post
571
- #
572
- # @return [Array<String>, nil]
573
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
574
-
575
- # @!method initialize(caption: nil, media: nil)
576
- # Twitter configuration
577
- #
578
- # @param caption [Object, nil] Overrides the `caption` from the post
579
- #
580
- # @param media [Array<String>, nil] Overrides the `media` from the post
581
- end
582
-
583
- # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#youtube
584
- class Youtube < PostForMe::Internal::Type::BaseModel
585
- # @!attribute caption
586
- # Overrides the `caption` from the post
587
- #
588
- # @return [Object, nil]
589
- optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
590
-
591
- # @!attribute media
592
- # Overrides the `media` from the post
593
- #
594
- # @return [Array<String>, nil]
595
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
596
-
597
- # @!attribute title
598
- # Overrides the `title` from the post
599
- #
600
- # @return [String, nil]
601
- optional :title, String, nil?: true
602
-
603
- # @!method initialize(caption: nil, media: nil, title: nil)
604
- # YouTube configuration
605
- #
606
- # @param caption [Object, nil] Overrides the `caption` from the post
607
- #
608
- # @param media [Array<String>, nil] Overrides the `media` from the post
609
- #
610
- # @param title [String, nil] Overrides the `title` from the post
611
- end
612
- end
613
265
  end
614
266
  end
615
267
  end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PostForMe
4
+ module Models
5
+ class FacebookConfigurationDto < PostForMe::Internal::Type::BaseModel
6
+ # @!attribute caption
7
+ # Overrides the `caption` from the post
8
+ #
9
+ # @return [Object, nil]
10
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
11
+
12
+ # @!attribute media
13
+ # Overrides the `media` from the post
14
+ #
15
+ # @return [Array<String>, nil]
16
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
17
+
18
+ # @!attribute placement
19
+ # Facebook post placement
20
+ #
21
+ # @return [Symbol, PostForMe::Models::FacebookConfigurationDto::Placement, nil]
22
+ optional :placement, enum: -> { PostForMe::FacebookConfigurationDto::Placement }, nil?: true
23
+
24
+ # @!method initialize(caption: nil, media: nil, placement: nil)
25
+ # @param caption [Object, nil] Overrides the `caption` from the post
26
+ #
27
+ # @param media [Array<String>, nil] Overrides the `media` from the post
28
+ #
29
+ # @param placement [Symbol, PostForMe::Models::FacebookConfigurationDto::Placement, nil] Facebook post placement
30
+
31
+ # Facebook post placement
32
+ #
33
+ # @see PostForMe::Models::FacebookConfigurationDto#placement
34
+ module Placement
35
+ extend PostForMe::Internal::Type::Enum
36
+
37
+ REELS = :reels
38
+ STORIES = :stories
39
+ TIMELINE = :timeline
40
+
41
+ # @!method self.values
42
+ # @return [Array<Symbol>]
43
+ end
44
+ end
45
+ end
46
+ end