post-for-me 0.1.0.pre.alpha.8 → 0.1.0.pre.alpha.10

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +1 -1
  4. data/lib/post_for_me/errors.rb +25 -11
  5. data/lib/post_for_me/file_part.rb +10 -7
  6. data/lib/post_for_me/internal/transport/base_client.rb +18 -8
  7. data/lib/post_for_me/internal/transport/pooled_net_requester.rb +40 -33
  8. data/lib/post_for_me/internal/type/base_page.rb +1 -1
  9. data/lib/post_for_me/internal/type/file_input.rb +7 -4
  10. data/lib/post_for_me/internal/util.rb +8 -7
  11. data/lib/post_for_me/models/bluesky_configuration_dto.rb +87 -1
  12. data/lib/post_for_me/models/create_social_post.rb +221 -2
  13. data/lib/post_for_me/models/facebook_configuration_dto.rb +106 -2
  14. data/lib/post_for_me/models/instagram_configuration_dto.rb +104 -2
  15. data/lib/post_for_me/models/linkedin_configuration_dto.rb +87 -1
  16. data/lib/post_for_me/models/pinterest_configuration_dto.rb +87 -1
  17. data/lib/post_for_me/models/social_account.rb +9 -1
  18. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +43 -1
  19. data/lib/post_for_me/models/social_account_disconnect_response.rb +9 -1
  20. data/lib/post_for_me/models/social_post.rb +221 -2
  21. data/lib/post_for_me/models/threads_configuration_dto.rb +87 -1
  22. data/lib/post_for_me/models/tiktok_configuration.rb +96 -2
  23. data/lib/post_for_me/models/twitter_configuration_dto.rb +180 -2
  24. data/lib/post_for_me/models/youtube_configuration_dto.rb +87 -1
  25. data/lib/post_for_me/version.rb +1 -1
  26. data/lib/post_for_me.rb +1 -0
  27. data/manifest.yaml +1 -0
  28. data/rbi/post_for_me/errors.rbi +29 -2
  29. data/rbi/post_for_me/file_part.rbi +1 -1
  30. data/rbi/post_for_me/internal/transport/base_client.rbi +9 -5
  31. data/rbi/post_for_me/internal/transport/pooled_net_requester.rbi +6 -2
  32. data/rbi/post_for_me/internal/type/base_model.rbi +8 -4
  33. data/rbi/post_for_me/internal/type/base_page.rbi +1 -1
  34. data/rbi/post_for_me/internal/util.rbi +1 -1
  35. data/rbi/post_for_me/models/bluesky_configuration_dto.rbi +180 -0
  36. data/rbi/post_for_me/models/create_social_post.rbi +424 -0
  37. data/rbi/post_for_me/models/facebook_configuration_dto.rbi +198 -0
  38. data/rbi/post_for_me/models/instagram_configuration_dto.rbi +205 -3
  39. data/rbi/post_for_me/models/linkedin_configuration_dto.rbi +182 -0
  40. data/rbi/post_for_me/models/pinterest_configuration_dto.rbi +184 -0
  41. data/rbi/post_for_me/models/social_account.rbi +8 -0
  42. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +104 -0
  43. data/rbi/post_for_me/models/social_account_disconnect_response.rbi +8 -0
  44. data/rbi/post_for_me/models/social_post.rbi +414 -0
  45. data/rbi/post_for_me/models/threads_configuration_dto.rbi +180 -0
  46. data/rbi/post_for_me/models/tiktok_configuration.rbi +180 -0
  47. data/rbi/post_for_me/models/twitter_configuration_dto.rbi +390 -2
  48. data/rbi/post_for_me/models/youtube_configuration_dto.rbi +180 -0
  49. data/sig/post_for_me/errors.rbs +7 -0
  50. data/sig/post_for_me/file_part.rbs +1 -1
  51. data/sig/post_for_me/internal/transport/base_client.rbs +2 -0
  52. data/sig/post_for_me/internal/transport/pooled_net_requester.rbs +4 -1
  53. data/sig/post_for_me/models/bluesky_configuration_dto.rbs +73 -1
  54. data/sig/post_for_me/models/create_social_post.rbs +180 -1
  55. data/sig/post_for_me/models/facebook_configuration_dto.rbs +83 -1
  56. data/sig/post_for_me/models/instagram_configuration_dto.rbs +86 -4
  57. data/sig/post_for_me/models/linkedin_configuration_dto.rbs +73 -1
  58. data/sig/post_for_me/models/pinterest_configuration_dto.rbs +73 -1
  59. data/sig/post_for_me/models/social_account.rbs +5 -0
  60. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +37 -0
  61. data/sig/post_for_me/models/social_account_disconnect_response.rbs +5 -0
  62. data/sig/post_for_me/models/social_post.rbs +180 -1
  63. data/sig/post_for_me/models/threads_configuration_dto.rbs +73 -1
  64. data/sig/post_for_me/models/tiktok_configuration.rbs +78 -1
  65. data/sig/post_for_me/models/twitter_configuration_dto.rbs +163 -4
  66. data/sig/post_for_me/models/youtube_configuration_dto.rbs +73 -1
  67. metadata +2 -2
@@ -15,26 +15,72 @@ module PostForMe
15
15
  sig { returns(T.nilable(T.anything)) }
16
16
  attr_accessor :caption
17
17
 
18
+ # Id of the community to post to
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :community_id
21
+
22
+ sig { params(community_id: String).void }
23
+ attr_writer :community_id
24
+
18
25
  # Overrides the `media` from the post
19
26
  sig do
20
27
  returns(T.nilable(T::Array[PostForMe::TwitterConfigurationDto::Media]))
21
28
  end
22
29
  attr_accessor :media
23
30
 
31
+ # Poll options for the tweet
32
+ sig { returns(T.nilable(PostForMe::TwitterConfigurationDto::Poll)) }
33
+ attr_reader :poll
34
+
35
+ sig do
36
+ params(poll: PostForMe::TwitterConfigurationDto::Poll::OrHash).void
37
+ end
38
+ attr_writer :poll
39
+
40
+ # Id of the tweet you want to quote
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :quote_tweet_id
43
+
44
+ sig { params(quote_tweet_id: String).void }
45
+ attr_writer :quote_tweet_id
46
+
47
+ # Who can reply to the tweet
48
+ sig do
49
+ returns(
50
+ T.nilable(PostForMe::TwitterConfigurationDto::ReplySettings::OrSymbol)
51
+ )
52
+ end
53
+ attr_accessor :reply_settings
54
+
24
55
  sig do
25
56
  params(
26
57
  caption: T.nilable(T.anything),
58
+ community_id: String,
27
59
  media:
28
60
  T.nilable(
29
61
  T::Array[PostForMe::TwitterConfigurationDto::Media::OrHash]
62
+ ),
63
+ poll: PostForMe::TwitterConfigurationDto::Poll::OrHash,
64
+ quote_tweet_id: String,
65
+ reply_settings:
66
+ T.nilable(
67
+ PostForMe::TwitterConfigurationDto::ReplySettings::OrSymbol
30
68
  )
31
69
  ).returns(T.attached_class)
32
70
  end
33
71
  def self.new(
34
72
  # Overrides the `caption` from the post
35
73
  caption: nil,
74
+ # Id of the community to post to
75
+ community_id: nil,
36
76
  # Overrides the `media` from the post
37
- media: nil
77
+ media: nil,
78
+ # Poll options for the tweet
79
+ poll: nil,
80
+ # Id of the tweet you want to quote
81
+ quote_tweet_id: nil,
82
+ # Who can reply to the tweet
83
+ reply_settings: nil
38
84
  )
39
85
  end
40
86
 
@@ -42,8 +88,15 @@ module PostForMe
42
88
  override.returns(
43
89
  {
44
90
  caption: T.nilable(T.anything),
91
+ community_id: String,
45
92
  media:
46
- T.nilable(T::Array[PostForMe::TwitterConfigurationDto::Media])
93
+ T.nilable(T::Array[PostForMe::TwitterConfigurationDto::Media]),
94
+ poll: PostForMe::TwitterConfigurationDto::Poll,
95
+ quote_tweet_id: String,
96
+ reply_settings:
97
+ T.nilable(
98
+ PostForMe::TwitterConfigurationDto::ReplySettings::OrSymbol
99
+ )
47
100
  }
48
101
  )
49
102
  end
@@ -63,6 +116,14 @@ module PostForMe
63
116
  sig { returns(String) }
64
117
  attr_accessor :url
65
118
 
119
+ # List of tags to attach to the media
120
+ sig do
121
+ returns(
122
+ T.nilable(T::Array[PostForMe::TwitterConfigurationDto::Media::Tag])
123
+ )
124
+ end
125
+ attr_accessor :tags
126
+
66
127
  # Timestamp in milliseconds of frame to use as thumbnail for the media
67
128
  sig { returns(T.nilable(T.anything)) }
68
129
  attr_accessor :thumbnail_timestamp_ms
@@ -74,6 +135,10 @@ module PostForMe
74
135
  sig do
75
136
  params(
76
137
  url: String,
138
+ tags:
139
+ T.nilable(
140
+ T::Array[PostForMe::TwitterConfigurationDto::Media::Tag::OrHash]
141
+ ),
77
142
  thumbnail_timestamp_ms: T.nilable(T.anything),
78
143
  thumbnail_url: T.nilable(T.anything)
79
144
  ).returns(T.attached_class)
@@ -81,6 +146,8 @@ module PostForMe
81
146
  def self.new(
82
147
  # Public URL of the media
83
148
  url:,
149
+ # List of tags to attach to the media
150
+ tags: nil,
84
151
  # Timestamp in milliseconds of frame to use as thumbnail for the media
85
152
  thumbnail_timestamp_ms: nil,
86
153
  # Public URL of the thumbnail for the media
@@ -92,6 +159,10 @@ module PostForMe
92
159
  override.returns(
93
160
  {
94
161
  url: String,
162
+ tags:
163
+ T.nilable(
164
+ T::Array[PostForMe::TwitterConfigurationDto::Media::Tag]
165
+ ),
95
166
  thumbnail_timestamp_ms: T.nilable(T.anything),
96
167
  thumbnail_url: T.nilable(T.anything)
97
168
  }
@@ -99,6 +170,323 @@ module PostForMe
99
170
  end
100
171
  def to_hash
101
172
  end
173
+
174
+ class Tag < PostForMe::Internal::Type::BaseModel
175
+ OrHash =
176
+ T.type_alias do
177
+ T.any(
178
+ PostForMe::TwitterConfigurationDto::Media::Tag,
179
+ PostForMe::Internal::AnyHash
180
+ )
181
+ end
182
+
183
+ # Facebook User ID, Instagram Username or Instagram product id to tag
184
+ sig { returns(String) }
185
+ attr_accessor :id
186
+
187
+ # The platform for the tags
188
+ sig do
189
+ returns(
190
+ PostForMe::TwitterConfigurationDto::Media::Tag::Platform::OrSymbol
191
+ )
192
+ end
193
+ attr_accessor :platform
194
+
195
+ # The type of tag, user to tag accounts, product to tag products (only supported
196
+ # for instagram)
197
+ sig do
198
+ returns(
199
+ PostForMe::TwitterConfigurationDto::Media::Tag::Type::OrSymbol
200
+ )
201
+ end
202
+ attr_accessor :type
203
+
204
+ # Percentage distance from left edge of the image, Not required for videos or
205
+ # stories
206
+ sig { returns(T.nilable(Float)) }
207
+ attr_reader :x
208
+
209
+ sig { params(x: Float).void }
210
+ attr_writer :x
211
+
212
+ # Percentage distance from top edge of the image, Not required for videos or
213
+ # stories
214
+ sig { returns(T.nilable(Float)) }
215
+ attr_reader :y_
216
+
217
+ sig { params(y_: Float).void }
218
+ attr_writer :y_
219
+
220
+ sig do
221
+ params(
222
+ id: String,
223
+ platform:
224
+ PostForMe::TwitterConfigurationDto::Media::Tag::Platform::OrSymbol,
225
+ type:
226
+ PostForMe::TwitterConfigurationDto::Media::Tag::Type::OrSymbol,
227
+ x: Float,
228
+ y_: Float
229
+ ).returns(T.attached_class)
230
+ end
231
+ def self.new(
232
+ # Facebook User ID, Instagram Username or Instagram product id to tag
233
+ id:,
234
+ # The platform for the tags
235
+ platform:,
236
+ # The type of tag, user to tag accounts, product to tag products (only supported
237
+ # for instagram)
238
+ type:,
239
+ # Percentage distance from left edge of the image, Not required for videos or
240
+ # stories
241
+ x: nil,
242
+ # Percentage distance from top edge of the image, Not required for videos or
243
+ # stories
244
+ y_: nil
245
+ )
246
+ end
247
+
248
+ sig do
249
+ override.returns(
250
+ {
251
+ id: String,
252
+ platform:
253
+ PostForMe::TwitterConfigurationDto::Media::Tag::Platform::OrSymbol,
254
+ type:
255
+ PostForMe::TwitterConfigurationDto::Media::Tag::Type::OrSymbol,
256
+ x: Float,
257
+ y_: Float
258
+ }
259
+ )
260
+ end
261
+ def to_hash
262
+ end
263
+
264
+ # The platform for the tags
265
+ module Platform
266
+ extend PostForMe::Internal::Type::Enum
267
+
268
+ TaggedSymbol =
269
+ T.type_alias do
270
+ T.all(
271
+ Symbol,
272
+ PostForMe::TwitterConfigurationDto::Media::Tag::Platform
273
+ )
274
+ end
275
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
276
+
277
+ FACEBOOK =
278
+ T.let(
279
+ :facebook,
280
+ PostForMe::TwitterConfigurationDto::Media::Tag::Platform::TaggedSymbol
281
+ )
282
+ INSTAGRAM =
283
+ T.let(
284
+ :instagram,
285
+ PostForMe::TwitterConfigurationDto::Media::Tag::Platform::TaggedSymbol
286
+ )
287
+
288
+ sig do
289
+ override.returns(
290
+ T::Array[
291
+ PostForMe::TwitterConfigurationDto::Media::Tag::Platform::TaggedSymbol
292
+ ]
293
+ )
294
+ end
295
+ def self.values
296
+ end
297
+ end
298
+
299
+ # The type of tag, user to tag accounts, product to tag products (only supported
300
+ # for instagram)
301
+ module Type
302
+ extend PostForMe::Internal::Type::Enum
303
+
304
+ TaggedSymbol =
305
+ T.type_alias do
306
+ T.all(
307
+ Symbol,
308
+ PostForMe::TwitterConfigurationDto::Media::Tag::Type
309
+ )
310
+ end
311
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
312
+
313
+ USER =
314
+ T.let(
315
+ :user,
316
+ PostForMe::TwitterConfigurationDto::Media::Tag::Type::TaggedSymbol
317
+ )
318
+ PRODUCT =
319
+ T.let(
320
+ :product,
321
+ PostForMe::TwitterConfigurationDto::Media::Tag::Type::TaggedSymbol
322
+ )
323
+
324
+ sig do
325
+ override.returns(
326
+ T::Array[
327
+ PostForMe::TwitterConfigurationDto::Media::Tag::Type::TaggedSymbol
328
+ ]
329
+ )
330
+ end
331
+ def self.values
332
+ end
333
+ end
334
+ end
335
+ end
336
+
337
+ class Poll < PostForMe::Internal::Type::BaseModel
338
+ OrHash =
339
+ T.type_alias do
340
+ T.any(
341
+ PostForMe::TwitterConfigurationDto::Poll,
342
+ PostForMe::Internal::AnyHash
343
+ )
344
+ end
345
+
346
+ # Duration of the poll in minutes
347
+ sig { returns(Float) }
348
+ attr_accessor :duration_minutes
349
+
350
+ # The choices of the poll, requiring 2-4 options
351
+ sig { returns(T::Array[String]) }
352
+ attr_accessor :options
353
+
354
+ # Who can reply to the tweet
355
+ sig do
356
+ returns(
357
+ T.nilable(
358
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::OrSymbol
359
+ )
360
+ )
361
+ end
362
+ attr_reader :reply_settings
363
+
364
+ sig do
365
+ params(
366
+ reply_settings:
367
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::OrSymbol
368
+ ).void
369
+ end
370
+ attr_writer :reply_settings
371
+
372
+ # Poll options for the tweet
373
+ sig do
374
+ params(
375
+ duration_minutes: Float,
376
+ options: T::Array[String],
377
+ reply_settings:
378
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::OrSymbol
379
+ ).returns(T.attached_class)
380
+ end
381
+ def self.new(
382
+ # Duration of the poll in minutes
383
+ duration_minutes:,
384
+ # The choices of the poll, requiring 2-4 options
385
+ options:,
386
+ # Who can reply to the tweet
387
+ reply_settings: nil
388
+ )
389
+ end
390
+
391
+ sig do
392
+ override.returns(
393
+ {
394
+ duration_minutes: Float,
395
+ options: T::Array[String],
396
+ reply_settings:
397
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::OrSymbol
398
+ }
399
+ )
400
+ end
401
+ def to_hash
402
+ end
403
+
404
+ # Who can reply to the tweet
405
+ module ReplySettings
406
+ extend PostForMe::Internal::Type::Enum
407
+
408
+ TaggedSymbol =
409
+ T.type_alias do
410
+ T.all(
411
+ Symbol,
412
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings
413
+ )
414
+ end
415
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
416
+
417
+ FOLLOWING =
418
+ T.let(
419
+ :following,
420
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::TaggedSymbol
421
+ )
422
+ MENTIONED_USERS =
423
+ T.let(
424
+ :mentionedUsers,
425
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::TaggedSymbol
426
+ )
427
+ SUBSCRIBERS =
428
+ T.let(
429
+ :subscribers,
430
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::TaggedSymbol
431
+ )
432
+ VERIFIED =
433
+ T.let(
434
+ :verified,
435
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::TaggedSymbol
436
+ )
437
+
438
+ sig do
439
+ override.returns(
440
+ T::Array[
441
+ PostForMe::TwitterConfigurationDto::Poll::ReplySettings::TaggedSymbol
442
+ ]
443
+ )
444
+ end
445
+ def self.values
446
+ end
447
+ end
448
+ end
449
+
450
+ # Who can reply to the tweet
451
+ module ReplySettings
452
+ extend PostForMe::Internal::Type::Enum
453
+
454
+ TaggedSymbol =
455
+ T.type_alias do
456
+ T.all(Symbol, PostForMe::TwitterConfigurationDto::ReplySettings)
457
+ end
458
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
459
+
460
+ FOLLOWING =
461
+ T.let(
462
+ :following,
463
+ PostForMe::TwitterConfigurationDto::ReplySettings::TaggedSymbol
464
+ )
465
+ MENTIONED_USERS =
466
+ T.let(
467
+ :mentionedUsers,
468
+ PostForMe::TwitterConfigurationDto::ReplySettings::TaggedSymbol
469
+ )
470
+ SUBSCRIBERS =
471
+ T.let(
472
+ :subscribers,
473
+ PostForMe::TwitterConfigurationDto::ReplySettings::TaggedSymbol
474
+ )
475
+ VERIFIED =
476
+ T.let(
477
+ :verified,
478
+ PostForMe::TwitterConfigurationDto::ReplySettings::TaggedSymbol
479
+ )
480
+
481
+ sig do
482
+ override.returns(
483
+ T::Array[
484
+ PostForMe::TwitterConfigurationDto::ReplySettings::TaggedSymbol
485
+ ]
486
+ )
487
+ end
488
+ def self.values
489
+ end
102
490
  end
103
491
  end
104
492
  end
@@ -71,6 +71,14 @@ module PostForMe
71
71
  sig { returns(String) }
72
72
  attr_accessor :url
73
73
 
74
+ # List of tags to attach to the media
75
+ sig do
76
+ returns(
77
+ T.nilable(T::Array[PostForMe::YoutubeConfigurationDto::Media::Tag])
78
+ )
79
+ end
80
+ attr_accessor :tags
81
+
74
82
  # Timestamp in milliseconds of frame to use as thumbnail for the media
75
83
  sig { returns(T.nilable(T.anything)) }
76
84
  attr_accessor :thumbnail_timestamp_ms
@@ -82,6 +90,10 @@ module PostForMe
82
90
  sig do
83
91
  params(
84
92
  url: String,
93
+ tags:
94
+ T.nilable(
95
+ T::Array[PostForMe::YoutubeConfigurationDto::Media::Tag::OrHash]
96
+ ),
85
97
  thumbnail_timestamp_ms: T.nilable(T.anything),
86
98
  thumbnail_url: T.nilable(T.anything)
87
99
  ).returns(T.attached_class)
@@ -89,6 +101,8 @@ module PostForMe
89
101
  def self.new(
90
102
  # Public URL of the media
91
103
  url:,
104
+ # List of tags to attach to the media
105
+ tags: nil,
92
106
  # Timestamp in milliseconds of frame to use as thumbnail for the media
93
107
  thumbnail_timestamp_ms: nil,
94
108
  # Public URL of the thumbnail for the media
@@ -100,6 +114,10 @@ module PostForMe
100
114
  override.returns(
101
115
  {
102
116
  url: String,
117
+ tags:
118
+ T.nilable(
119
+ T::Array[PostForMe::YoutubeConfigurationDto::Media::Tag]
120
+ ),
103
121
  thumbnail_timestamp_ms: T.nilable(T.anything),
104
122
  thumbnail_url: T.nilable(T.anything)
105
123
  }
@@ -107,6 +125,168 @@ module PostForMe
107
125
  end
108
126
  def to_hash
109
127
  end
128
+
129
+ class Tag < PostForMe::Internal::Type::BaseModel
130
+ OrHash =
131
+ T.type_alias do
132
+ T.any(
133
+ PostForMe::YoutubeConfigurationDto::Media::Tag,
134
+ PostForMe::Internal::AnyHash
135
+ )
136
+ end
137
+
138
+ # Facebook User ID, Instagram Username or Instagram product id to tag
139
+ sig { returns(String) }
140
+ attr_accessor :id
141
+
142
+ # The platform for the tags
143
+ sig do
144
+ returns(
145
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Platform::OrSymbol
146
+ )
147
+ end
148
+ attr_accessor :platform
149
+
150
+ # The type of tag, user to tag accounts, product to tag products (only supported
151
+ # for instagram)
152
+ sig do
153
+ returns(
154
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Type::OrSymbol
155
+ )
156
+ end
157
+ attr_accessor :type
158
+
159
+ # Percentage distance from left edge of the image, Not required for videos or
160
+ # stories
161
+ sig { returns(T.nilable(Float)) }
162
+ attr_reader :x
163
+
164
+ sig { params(x: Float).void }
165
+ attr_writer :x
166
+
167
+ # Percentage distance from top edge of the image, Not required for videos or
168
+ # stories
169
+ sig { returns(T.nilable(Float)) }
170
+ attr_reader :y_
171
+
172
+ sig { params(y_: Float).void }
173
+ attr_writer :y_
174
+
175
+ sig do
176
+ params(
177
+ id: String,
178
+ platform:
179
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Platform::OrSymbol,
180
+ type:
181
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Type::OrSymbol,
182
+ x: Float,
183
+ y_: Float
184
+ ).returns(T.attached_class)
185
+ end
186
+ def self.new(
187
+ # Facebook User ID, Instagram Username or Instagram product id to tag
188
+ id:,
189
+ # The platform for the tags
190
+ platform:,
191
+ # The type of tag, user to tag accounts, product to tag products (only supported
192
+ # for instagram)
193
+ type:,
194
+ # Percentage distance from left edge of the image, Not required for videos or
195
+ # stories
196
+ x: nil,
197
+ # Percentage distance from top edge of the image, Not required for videos or
198
+ # stories
199
+ y_: nil
200
+ )
201
+ end
202
+
203
+ sig do
204
+ override.returns(
205
+ {
206
+ id: String,
207
+ platform:
208
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Platform::OrSymbol,
209
+ type:
210
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Type::OrSymbol,
211
+ x: Float,
212
+ y_: Float
213
+ }
214
+ )
215
+ end
216
+ def to_hash
217
+ end
218
+
219
+ # The platform for the tags
220
+ module Platform
221
+ extend PostForMe::Internal::Type::Enum
222
+
223
+ TaggedSymbol =
224
+ T.type_alias do
225
+ T.all(
226
+ Symbol,
227
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Platform
228
+ )
229
+ end
230
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
231
+
232
+ FACEBOOK =
233
+ T.let(
234
+ :facebook,
235
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Platform::TaggedSymbol
236
+ )
237
+ INSTAGRAM =
238
+ T.let(
239
+ :instagram,
240
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Platform::TaggedSymbol
241
+ )
242
+
243
+ sig do
244
+ override.returns(
245
+ T::Array[
246
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Platform::TaggedSymbol
247
+ ]
248
+ )
249
+ end
250
+ def self.values
251
+ end
252
+ end
253
+
254
+ # The type of tag, user to tag accounts, product to tag products (only supported
255
+ # for instagram)
256
+ module Type
257
+ extend PostForMe::Internal::Type::Enum
258
+
259
+ TaggedSymbol =
260
+ T.type_alias do
261
+ T.all(
262
+ Symbol,
263
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Type
264
+ )
265
+ end
266
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
267
+
268
+ USER =
269
+ T.let(
270
+ :user,
271
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Type::TaggedSymbol
272
+ )
273
+ PRODUCT =
274
+ T.let(
275
+ :product,
276
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Type::TaggedSymbol
277
+ )
278
+
279
+ sig do
280
+ override.returns(
281
+ T::Array[
282
+ PostForMe::YoutubeConfigurationDto::Media::Tag::Type::TaggedSymbol
283
+ ]
284
+ )
285
+ end
286
+ def self.values
287
+ end
288
+ end
289
+ end
110
290
  end
111
291
  end
112
292
  end
@@ -21,11 +21,14 @@ module PostForMe
21
21
 
22
22
  attr_accessor status: Integer?
23
23
 
24
+ attr_accessor headers: ::Hash[String, String]?
25
+
24
26
  attr_accessor body: top?
25
27
 
26
28
  def initialize: (
27
29
  url: URI::Generic,
28
30
  ?status: Integer?,
31
+ ?headers: ::Hash[String, String]?,
29
32
  ?body: Object?,
30
33
  ?request: nil,
31
34
  ?response: nil,
@@ -37,6 +40,7 @@ module PostForMe
37
40
  def initialize: (
38
41
  url: URI::Generic,
39
42
  ?status: nil,
43
+ ?headers: ::Hash[String, String]?,
40
44
  ?body: nil,
41
45
  ?request: nil,
42
46
  ?response: nil,
@@ -48,6 +52,7 @@ module PostForMe
48
52
  def initialize: (
49
53
  url: URI::Generic,
50
54
  ?status: nil,
55
+ ?headers: ::Hash[String, String]?,
51
56
  ?body: nil,
52
57
  ?request: nil,
53
58
  ?response: nil,
@@ -59,6 +64,7 @@ module PostForMe
59
64
  def self.for: (
60
65
  url: URI::Generic,
61
66
  status: Integer,
67
+ headers: ::Hash[String, String]?,
62
68
  body: Object?,
63
69
  request: nil,
64
70
  response: nil,
@@ -68,6 +74,7 @@ module PostForMe
68
74
  def initialize: (
69
75
  url: URI::Generic,
70
76
  status: Integer,
77
+ headers: ::Hash[String, String]?,
71
78
  body: Object?,
72
79
  request: nil,
73
80
  response: nil,