post-for-me 0.1.0.pre.alpha.5 → 0.1.0.pre.alpha.7

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