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
@@ -37,17 +37,13 @@ module PostForMe
37
37
  attr_accessor :media
38
38
 
39
39
  # Platform-specific configurations for the post
40
- sig do
41
- returns(T.nilable(PostForMe::CreateSocialPost::PlatformConfigurations))
42
- end
40
+ sig { returns(T.nilable(PostForMe::PlatformConfigurationsDto)) }
43
41
  attr_reader :platform_configurations
44
42
 
45
43
  sig do
46
44
  params(
47
45
  platform_configurations:
48
- T.nilable(
49
- PostForMe::CreateSocialPost::PlatformConfigurations::OrHash
50
- )
46
+ T.nilable(PostForMe::PlatformConfigurationsDto::OrHash)
51
47
  ).void
52
48
  end
53
49
  attr_writer :platform_configurations
@@ -72,9 +68,7 @@ module PostForMe
72
68
  media:
73
69
  T.nilable(T::Array[PostForMe::CreateSocialPost::Media::OrHash]),
74
70
  platform_configurations:
75
- T.nilable(
76
- PostForMe::CreateSocialPost::PlatformConfigurations::OrHash
77
- ),
71
+ T.nilable(PostForMe::PlatformConfigurationsDto::OrHash),
78
72
  scheduled_at: T.nilable(Time)
79
73
  ).returns(T.attached_class)
80
74
  end
@@ -112,7 +106,7 @@ module PostForMe
112
106
  is_draft: T.nilable(T::Boolean),
113
107
  media: T.nilable(T::Array[PostForMe::CreateSocialPost::Media]),
114
108
  platform_configurations:
115
- T.nilable(PostForMe::CreateSocialPost::PlatformConfigurations),
109
+ T.nilable(PostForMe::PlatformConfigurationsDto),
116
110
  scheduled_at: T.nilable(Time)
117
111
  }
118
112
  )
@@ -213,6 +207,15 @@ module PostForMe
213
207
  sig { returns(T.nilable(T::Boolean)) }
214
208
  attr_accessor :disclose_your_brand
215
209
 
210
+ # Flag content as AI generated on TikTok
211
+ sig { returns(T.nilable(T::Boolean)) }
212
+ attr_accessor :is_ai_generated
213
+
214
+ # Will create a draft upload to TikTok, posting will need to be completed from
215
+ # within the app
216
+ sig { returns(T.nilable(T::Boolean)) }
217
+ attr_accessor :is_draft
218
+
216
219
  # Pinterest post link
217
220
  sig { returns(T.nilable(String)) }
218
221
  attr_accessor :link
@@ -249,6 +252,8 @@ module PostForMe
249
252
  caption: T.nilable(T.anything),
250
253
  disclose_branded_content: T.nilable(T::Boolean),
251
254
  disclose_your_brand: T.nilable(T::Boolean),
255
+ is_ai_generated: T.nilable(T::Boolean),
256
+ is_draft: T.nilable(T::Boolean),
252
257
  link: T.nilable(String),
253
258
  media: T.nilable(T::Array[String]),
254
259
  placement:
@@ -274,6 +279,11 @@ module PostForMe
274
279
  disclose_branded_content: nil,
275
280
  # Disclose your brand on TikTok
276
281
  disclose_your_brand: nil,
282
+ # Flag content as AI generated on TikTok
283
+ is_ai_generated: nil,
284
+ # Will create a draft upload to TikTok, posting will need to be completed from
285
+ # within the app
286
+ is_draft: nil,
277
287
  # Pinterest post link
278
288
  link: nil,
279
289
  # Overrides the `media` from the post
@@ -297,6 +307,8 @@ module PostForMe
297
307
  caption: T.nilable(T.anything),
298
308
  disclose_branded_content: T.nilable(T::Boolean),
299
309
  disclose_your_brand: T.nilable(T::Boolean),
310
+ is_ai_generated: T.nilable(T::Boolean),
311
+ is_draft: T.nilable(T::Boolean),
300
312
  link: T.nilable(String),
301
313
  media: T.nilable(T::Array[String]),
302
314
  placement:
@@ -403,859 +415,6 @@ module PostForMe
403
415
  def to_hash
404
416
  end
405
417
  end
406
-
407
- class PlatformConfigurations < PostForMe::Internal::Type::BaseModel
408
- OrHash =
409
- T.type_alias do
410
- T.any(
411
- PostForMe::CreateSocialPost::PlatformConfigurations,
412
- PostForMe::Internal::AnyHash
413
- )
414
- end
415
-
416
- # Bluesky configuration
417
- sig do
418
- returns(
419
- T.nilable(
420
- PostForMe::CreateSocialPost::PlatformConfigurations::Bluesky
421
- )
422
- )
423
- end
424
- attr_reader :bluesky
425
-
426
- sig do
427
- params(
428
- bluesky:
429
- T.nilable(
430
- PostForMe::CreateSocialPost::PlatformConfigurations::Bluesky::OrHash
431
- )
432
- ).void
433
- end
434
- attr_writer :bluesky
435
-
436
- # Facebook configuration
437
- sig do
438
- returns(
439
- T.nilable(
440
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook
441
- )
442
- )
443
- end
444
- attr_reader :facebook
445
-
446
- sig do
447
- params(
448
- facebook:
449
- T.nilable(
450
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::OrHash
451
- )
452
- ).void
453
- end
454
- attr_writer :facebook
455
-
456
- # Instagram configuration
457
- sig do
458
- returns(
459
- T.nilable(
460
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram
461
- )
462
- )
463
- end
464
- attr_reader :instagram
465
-
466
- sig do
467
- params(
468
- instagram:
469
- T.nilable(
470
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::OrHash
471
- )
472
- ).void
473
- end
474
- attr_writer :instagram
475
-
476
- # LinkedIn configuration
477
- sig do
478
- returns(
479
- T.nilable(
480
- PostForMe::CreateSocialPost::PlatformConfigurations::Linkedin
481
- )
482
- )
483
- end
484
- attr_reader :linkedin
485
-
486
- sig do
487
- params(
488
- linkedin:
489
- T.nilable(
490
- PostForMe::CreateSocialPost::PlatformConfigurations::Linkedin::OrHash
491
- )
492
- ).void
493
- end
494
- attr_writer :linkedin
495
-
496
- # Pinterest configuration
497
- sig do
498
- returns(
499
- T.nilable(
500
- PostForMe::CreateSocialPost::PlatformConfigurations::Pinterest
501
- )
502
- )
503
- end
504
- attr_reader :pinterest
505
-
506
- sig do
507
- params(
508
- pinterest:
509
- T.nilable(
510
- PostForMe::CreateSocialPost::PlatformConfigurations::Pinterest::OrHash
511
- )
512
- ).void
513
- end
514
- attr_writer :pinterest
515
-
516
- # Threads configuration
517
- sig do
518
- returns(
519
- T.nilable(
520
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads
521
- )
522
- )
523
- end
524
- attr_reader :threads
525
-
526
- sig do
527
- params(
528
- threads:
529
- T.nilable(
530
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::OrHash
531
- )
532
- ).void
533
- end
534
- attr_writer :threads
535
-
536
- # TikTok configuration
537
- sig { returns(T.nilable(PostForMe::TiktokConfiguration)) }
538
- attr_reader :tiktok
539
-
540
- sig do
541
- params(tiktok: T.nilable(PostForMe::TiktokConfiguration::OrHash)).void
542
- end
543
- attr_writer :tiktok
544
-
545
- # TikTok configuration
546
- sig { returns(T.nilable(PostForMe::TiktokConfiguration)) }
547
- attr_reader :tiktok_business
548
-
549
- sig do
550
- params(
551
- tiktok_business: T.nilable(PostForMe::TiktokConfiguration::OrHash)
552
- ).void
553
- end
554
- attr_writer :tiktok_business
555
-
556
- # Twitter configuration
557
- sig do
558
- returns(
559
- T.nilable(PostForMe::CreateSocialPost::PlatformConfigurations::X)
560
- )
561
- end
562
- attr_reader :x
563
-
564
- sig do
565
- params(
566
- x:
567
- T.nilable(
568
- PostForMe::CreateSocialPost::PlatformConfigurations::X::OrHash
569
- )
570
- ).void
571
- end
572
- attr_writer :x
573
-
574
- # YouTube configuration
575
- sig do
576
- returns(
577
- T.nilable(
578
- PostForMe::CreateSocialPost::PlatformConfigurations::Youtube
579
- )
580
- )
581
- end
582
- attr_reader :youtube
583
-
584
- sig do
585
- params(
586
- youtube:
587
- T.nilable(
588
- PostForMe::CreateSocialPost::PlatformConfigurations::Youtube::OrHash
589
- )
590
- ).void
591
- end
592
- attr_writer :youtube
593
-
594
- # Platform-specific configurations for the post
595
- sig do
596
- params(
597
- bluesky:
598
- T.nilable(
599
- PostForMe::CreateSocialPost::PlatformConfigurations::Bluesky::OrHash
600
- ),
601
- facebook:
602
- T.nilable(
603
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::OrHash
604
- ),
605
- instagram:
606
- T.nilable(
607
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::OrHash
608
- ),
609
- linkedin:
610
- T.nilable(
611
- PostForMe::CreateSocialPost::PlatformConfigurations::Linkedin::OrHash
612
- ),
613
- pinterest:
614
- T.nilable(
615
- PostForMe::CreateSocialPost::PlatformConfigurations::Pinterest::OrHash
616
- ),
617
- threads:
618
- T.nilable(
619
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::OrHash
620
- ),
621
- tiktok: T.nilable(PostForMe::TiktokConfiguration::OrHash),
622
- tiktok_business: T.nilable(PostForMe::TiktokConfiguration::OrHash),
623
- x:
624
- T.nilable(
625
- PostForMe::CreateSocialPost::PlatformConfigurations::X::OrHash
626
- ),
627
- youtube:
628
- T.nilable(
629
- PostForMe::CreateSocialPost::PlatformConfigurations::Youtube::OrHash
630
- )
631
- ).returns(T.attached_class)
632
- end
633
- def self.new(
634
- # Bluesky configuration
635
- bluesky: nil,
636
- # Facebook configuration
637
- facebook: nil,
638
- # Instagram configuration
639
- instagram: nil,
640
- # LinkedIn configuration
641
- linkedin: nil,
642
- # Pinterest configuration
643
- pinterest: nil,
644
- # Threads configuration
645
- threads: nil,
646
- # TikTok configuration
647
- tiktok: nil,
648
- # TikTok configuration
649
- tiktok_business: nil,
650
- # Twitter configuration
651
- x: nil,
652
- # YouTube configuration
653
- youtube: nil
654
- )
655
- end
656
-
657
- sig do
658
- override.returns(
659
- {
660
- bluesky:
661
- T.nilable(
662
- PostForMe::CreateSocialPost::PlatformConfigurations::Bluesky
663
- ),
664
- facebook:
665
- T.nilable(
666
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook
667
- ),
668
- instagram:
669
- T.nilable(
670
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram
671
- ),
672
- linkedin:
673
- T.nilable(
674
- PostForMe::CreateSocialPost::PlatformConfigurations::Linkedin
675
- ),
676
- pinterest:
677
- T.nilable(
678
- PostForMe::CreateSocialPost::PlatformConfigurations::Pinterest
679
- ),
680
- threads:
681
- T.nilable(
682
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads
683
- ),
684
- tiktok: T.nilable(PostForMe::TiktokConfiguration),
685
- tiktok_business: T.nilable(PostForMe::TiktokConfiguration),
686
- x:
687
- T.nilable(
688
- PostForMe::CreateSocialPost::PlatformConfigurations::X
689
- ),
690
- youtube:
691
- T.nilable(
692
- PostForMe::CreateSocialPost::PlatformConfigurations::Youtube
693
- )
694
- }
695
- )
696
- end
697
- def to_hash
698
- end
699
-
700
- class Bluesky < PostForMe::Internal::Type::BaseModel
701
- OrHash =
702
- T.type_alias do
703
- T.any(
704
- PostForMe::CreateSocialPost::PlatformConfigurations::Bluesky,
705
- PostForMe::Internal::AnyHash
706
- )
707
- end
708
-
709
- # Overrides the `caption` from the post
710
- sig { returns(T.nilable(T.anything)) }
711
- attr_accessor :caption
712
-
713
- # Overrides the `media` from the post
714
- sig { returns(T.nilable(T::Array[String])) }
715
- attr_accessor :media
716
-
717
- # Bluesky configuration
718
- sig do
719
- params(
720
- caption: T.nilable(T.anything),
721
- media: T.nilable(T::Array[String])
722
- ).returns(T.attached_class)
723
- end
724
- def self.new(
725
- # Overrides the `caption` from the post
726
- caption: nil,
727
- # Overrides the `media` from the post
728
- media: nil
729
- )
730
- end
731
-
732
- sig do
733
- override.returns(
734
- {
735
- caption: T.nilable(T.anything),
736
- media: T.nilable(T::Array[String])
737
- }
738
- )
739
- end
740
- def to_hash
741
- end
742
- end
743
-
744
- class Facebook < PostForMe::Internal::Type::BaseModel
745
- OrHash =
746
- T.type_alias do
747
- T.any(
748
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook,
749
- PostForMe::Internal::AnyHash
750
- )
751
- end
752
-
753
- # Overrides the `caption` from the post
754
- sig { returns(T.nilable(T.anything)) }
755
- attr_accessor :caption
756
-
757
- # Overrides the `media` from the post
758
- sig { returns(T.nilable(T::Array[String])) }
759
- attr_accessor :media
760
-
761
- # Facebook post placement
762
- sig do
763
- returns(
764
- T.nilable(
765
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement::OrSymbol
766
- )
767
- )
768
- end
769
- attr_accessor :placement
770
-
771
- # Facebook configuration
772
- sig do
773
- params(
774
- caption: T.nilable(T.anything),
775
- media: T.nilable(T::Array[String]),
776
- placement:
777
- T.nilable(
778
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement::OrSymbol
779
- )
780
- ).returns(T.attached_class)
781
- end
782
- def self.new(
783
- # Overrides the `caption` from the post
784
- caption: nil,
785
- # Overrides the `media` from the post
786
- media: nil,
787
- # Facebook post placement
788
- placement: nil
789
- )
790
- end
791
-
792
- sig do
793
- override.returns(
794
- {
795
- caption: T.nilable(T.anything),
796
- media: T.nilable(T::Array[String]),
797
- placement:
798
- T.nilable(
799
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement::OrSymbol
800
- )
801
- }
802
- )
803
- end
804
- def to_hash
805
- end
806
-
807
- # Facebook post placement
808
- module Placement
809
- extend PostForMe::Internal::Type::Enum
810
-
811
- TaggedSymbol =
812
- T.type_alias do
813
- T.all(
814
- Symbol,
815
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement
816
- )
817
- end
818
- OrSymbol = T.type_alias { T.any(Symbol, String) }
819
-
820
- REELS =
821
- T.let(
822
- :reels,
823
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement::TaggedSymbol
824
- )
825
- STORIES =
826
- T.let(
827
- :stories,
828
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement::TaggedSymbol
829
- )
830
- TIMELINE =
831
- T.let(
832
- :timeline,
833
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement::TaggedSymbol
834
- )
835
-
836
- sig do
837
- override.returns(
838
- T::Array[
839
- PostForMe::CreateSocialPost::PlatformConfigurations::Facebook::Placement::TaggedSymbol
840
- ]
841
- )
842
- end
843
- def self.values
844
- end
845
- end
846
- end
847
-
848
- class Instagram < PostForMe::Internal::Type::BaseModel
849
- OrHash =
850
- T.type_alias do
851
- T.any(
852
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram,
853
- PostForMe::Internal::AnyHash
854
- )
855
- end
856
-
857
- # Overrides the `caption` from the post
858
- sig { returns(T.nilable(T.anything)) }
859
- attr_accessor :caption
860
-
861
- # Instagram usernames to be tagged as a collaborator
862
- sig { returns(T.nilable(T::Array[String])) }
863
- attr_accessor :collaborators
864
-
865
- # Overrides the `media` from the post
866
- sig { returns(T.nilable(T::Array[String])) }
867
- attr_accessor :media
868
-
869
- # Instagram post placement
870
- sig do
871
- returns(
872
- T.nilable(
873
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement::OrSymbol
874
- )
875
- )
876
- end
877
- attr_accessor :placement
878
-
879
- # Instagram configuration
880
- sig do
881
- params(
882
- caption: T.nilable(T.anything),
883
- collaborators: T.nilable(T::Array[String]),
884
- media: T.nilable(T::Array[String]),
885
- placement:
886
- T.nilable(
887
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement::OrSymbol
888
- )
889
- ).returns(T.attached_class)
890
- end
891
- def self.new(
892
- # Overrides the `caption` from the post
893
- caption: nil,
894
- # Instagram usernames to be tagged as a collaborator
895
- collaborators: nil,
896
- # Overrides the `media` from the post
897
- media: nil,
898
- # Instagram post placement
899
- placement: nil
900
- )
901
- end
902
-
903
- sig do
904
- override.returns(
905
- {
906
- caption: T.nilable(T.anything),
907
- collaborators: T.nilable(T::Array[String]),
908
- media: T.nilable(T::Array[String]),
909
- placement:
910
- T.nilable(
911
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement::OrSymbol
912
- )
913
- }
914
- )
915
- end
916
- def to_hash
917
- end
918
-
919
- # Instagram post placement
920
- module Placement
921
- extend PostForMe::Internal::Type::Enum
922
-
923
- TaggedSymbol =
924
- T.type_alias do
925
- T.all(
926
- Symbol,
927
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement
928
- )
929
- end
930
- OrSymbol = T.type_alias { T.any(Symbol, String) }
931
-
932
- REELS =
933
- T.let(
934
- :reels,
935
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement::TaggedSymbol
936
- )
937
- STORIES =
938
- T.let(
939
- :stories,
940
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement::TaggedSymbol
941
- )
942
- TIMELINE =
943
- T.let(
944
- :timeline,
945
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement::TaggedSymbol
946
- )
947
-
948
- sig do
949
- override.returns(
950
- T::Array[
951
- PostForMe::CreateSocialPost::PlatformConfigurations::Instagram::Placement::TaggedSymbol
952
- ]
953
- )
954
- end
955
- def self.values
956
- end
957
- end
958
- end
959
-
960
- class Linkedin < PostForMe::Internal::Type::BaseModel
961
- OrHash =
962
- T.type_alias do
963
- T.any(
964
- PostForMe::CreateSocialPost::PlatformConfigurations::Linkedin,
965
- PostForMe::Internal::AnyHash
966
- )
967
- end
968
-
969
- # Overrides the `caption` from the post
970
- sig { returns(T.nilable(T.anything)) }
971
- attr_accessor :caption
972
-
973
- # Overrides the `media` from the post
974
- sig { returns(T.nilable(T::Array[String])) }
975
- attr_accessor :media
976
-
977
- # LinkedIn configuration
978
- sig do
979
- params(
980
- caption: T.nilable(T.anything),
981
- media: T.nilable(T::Array[String])
982
- ).returns(T.attached_class)
983
- end
984
- def self.new(
985
- # Overrides the `caption` from the post
986
- caption: nil,
987
- # Overrides the `media` from the post
988
- media: nil
989
- )
990
- end
991
-
992
- sig do
993
- override.returns(
994
- {
995
- caption: T.nilable(T.anything),
996
- media: T.nilable(T::Array[String])
997
- }
998
- )
999
- end
1000
- def to_hash
1001
- end
1002
- end
1003
-
1004
- class Pinterest < PostForMe::Internal::Type::BaseModel
1005
- OrHash =
1006
- T.type_alias do
1007
- T.any(
1008
- PostForMe::CreateSocialPost::PlatformConfigurations::Pinterest,
1009
- PostForMe::Internal::AnyHash
1010
- )
1011
- end
1012
-
1013
- # Pinterest board IDs
1014
- sig { returns(T.nilable(T::Array[String])) }
1015
- attr_accessor :board_ids
1016
-
1017
- # Overrides the `caption` from the post
1018
- sig { returns(T.nilable(T.anything)) }
1019
- attr_accessor :caption
1020
-
1021
- # Pinterest post link
1022
- sig { returns(T.nilable(String)) }
1023
- attr_accessor :link
1024
-
1025
- # Overrides the `media` from the post
1026
- sig { returns(T.nilable(T::Array[String])) }
1027
- attr_accessor :media
1028
-
1029
- # Pinterest configuration
1030
- sig do
1031
- params(
1032
- board_ids: T.nilable(T::Array[String]),
1033
- caption: T.nilable(T.anything),
1034
- link: T.nilable(String),
1035
- media: T.nilable(T::Array[String])
1036
- ).returns(T.attached_class)
1037
- end
1038
- def self.new(
1039
- # Pinterest board IDs
1040
- board_ids: nil,
1041
- # Overrides the `caption` from the post
1042
- caption: nil,
1043
- # Pinterest post link
1044
- link: nil,
1045
- # Overrides the `media` from the post
1046
- media: nil
1047
- )
1048
- end
1049
-
1050
- sig do
1051
- override.returns(
1052
- {
1053
- board_ids: T.nilable(T::Array[String]),
1054
- caption: T.nilable(T.anything),
1055
- link: T.nilable(String),
1056
- media: T.nilable(T::Array[String])
1057
- }
1058
- )
1059
- end
1060
- def to_hash
1061
- end
1062
- end
1063
-
1064
- class Threads < PostForMe::Internal::Type::BaseModel
1065
- OrHash =
1066
- T.type_alias do
1067
- T.any(
1068
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads,
1069
- PostForMe::Internal::AnyHash
1070
- )
1071
- end
1072
-
1073
- # Overrides the `caption` from the post
1074
- sig { returns(T.nilable(T.anything)) }
1075
- attr_accessor :caption
1076
-
1077
- # Overrides the `media` from the post
1078
- sig { returns(T.nilable(T::Array[String])) }
1079
- attr_accessor :media
1080
-
1081
- # Threads post placement
1082
- sig do
1083
- returns(
1084
- T.nilable(
1085
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Placement::OrSymbol
1086
- )
1087
- )
1088
- end
1089
- attr_accessor :placement
1090
-
1091
- # Threads configuration
1092
- sig do
1093
- params(
1094
- caption: T.nilable(T.anything),
1095
- media: T.nilable(T::Array[String]),
1096
- placement:
1097
- T.nilable(
1098
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Placement::OrSymbol
1099
- )
1100
- ).returns(T.attached_class)
1101
- end
1102
- def self.new(
1103
- # Overrides the `caption` from the post
1104
- caption: nil,
1105
- # Overrides the `media` from the post
1106
- media: nil,
1107
- # Threads post placement
1108
- placement: nil
1109
- )
1110
- end
1111
-
1112
- sig do
1113
- override.returns(
1114
- {
1115
- caption: T.nilable(T.anything),
1116
- media: T.nilable(T::Array[String]),
1117
- placement:
1118
- T.nilable(
1119
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Placement::OrSymbol
1120
- )
1121
- }
1122
- )
1123
- end
1124
- def to_hash
1125
- end
1126
-
1127
- # Threads post placement
1128
- module Placement
1129
- extend PostForMe::Internal::Type::Enum
1130
-
1131
- TaggedSymbol =
1132
- T.type_alias do
1133
- T.all(
1134
- Symbol,
1135
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Placement
1136
- )
1137
- end
1138
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1139
-
1140
- REELS =
1141
- T.let(
1142
- :reels,
1143
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Placement::TaggedSymbol
1144
- )
1145
- TIMELINE =
1146
- T.let(
1147
- :timeline,
1148
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Placement::TaggedSymbol
1149
- )
1150
-
1151
- sig do
1152
- override.returns(
1153
- T::Array[
1154
- PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Placement::TaggedSymbol
1155
- ]
1156
- )
1157
- end
1158
- def self.values
1159
- end
1160
- end
1161
- end
1162
-
1163
- class X < PostForMe::Internal::Type::BaseModel
1164
- OrHash =
1165
- T.type_alias do
1166
- T.any(
1167
- PostForMe::CreateSocialPost::PlatformConfigurations::X,
1168
- PostForMe::Internal::AnyHash
1169
- )
1170
- end
1171
-
1172
- # Overrides the `caption` from the post
1173
- sig { returns(T.nilable(T.anything)) }
1174
- attr_accessor :caption
1175
-
1176
- # Overrides the `media` from the post
1177
- sig { returns(T.nilable(T::Array[String])) }
1178
- attr_accessor :media
1179
-
1180
- # Twitter configuration
1181
- sig do
1182
- params(
1183
- caption: T.nilable(T.anything),
1184
- media: T.nilable(T::Array[String])
1185
- ).returns(T.attached_class)
1186
- end
1187
- def self.new(
1188
- # Overrides the `caption` from the post
1189
- caption: nil,
1190
- # Overrides the `media` from the post
1191
- media: nil
1192
- )
1193
- end
1194
-
1195
- sig do
1196
- override.returns(
1197
- {
1198
- caption: T.nilable(T.anything),
1199
- media: T.nilable(T::Array[String])
1200
- }
1201
- )
1202
- end
1203
- def to_hash
1204
- end
1205
- end
1206
-
1207
- class Youtube < PostForMe::Internal::Type::BaseModel
1208
- OrHash =
1209
- T.type_alias do
1210
- T.any(
1211
- PostForMe::CreateSocialPost::PlatformConfigurations::Youtube,
1212
- PostForMe::Internal::AnyHash
1213
- )
1214
- end
1215
-
1216
- # Overrides the `caption` from the post
1217
- sig { returns(T.nilable(T.anything)) }
1218
- attr_accessor :caption
1219
-
1220
- # Overrides the `media` from the post
1221
- sig { returns(T.nilable(T::Array[String])) }
1222
- attr_accessor :media
1223
-
1224
- # Overrides the `title` from the post
1225
- sig { returns(T.nilable(String)) }
1226
- attr_accessor :title
1227
-
1228
- # YouTube configuration
1229
- sig do
1230
- params(
1231
- caption: T.nilable(T.anything),
1232
- media: T.nilable(T::Array[String]),
1233
- title: T.nilable(String)
1234
- ).returns(T.attached_class)
1235
- end
1236
- def self.new(
1237
- # Overrides the `caption` from the post
1238
- caption: nil,
1239
- # Overrides the `media` from the post
1240
- media: nil,
1241
- # Overrides the `title` from the post
1242
- title: nil
1243
- )
1244
- end
1245
-
1246
- sig do
1247
- override.returns(
1248
- {
1249
- caption: T.nilable(T.anything),
1250
- media: T.nilable(T::Array[String]),
1251
- title: T.nilable(String)
1252
- }
1253
- )
1254
- end
1255
- def to_hash
1256
- end
1257
- end
1258
- end
1259
418
  end
1260
419
  end
1261
420
  end