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

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 +38 -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 +11 -7
  7. data/lib/post_for_me/internal/transport/pooled_net_requester.rb +7 -10
  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 +3 -2
  11. data/lib/post_for_me/models/bluesky_configuration_dto.rb +118 -3
  12. data/lib/post_for_me/models/create_social_post.rb +221 -2
  13. data/lib/post_for_me/models/facebook_configuration_dto.rb +137 -4
  14. data/lib/post_for_me/models/instagram_configuration_dto.rb +135 -4
  15. data/lib/post_for_me/models/linkedin_configuration_dto.rb +118 -3
  16. data/lib/post_for_me/models/pinterest_configuration_dto.rb +118 -3
  17. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +43 -1
  18. data/lib/post_for_me/models/social_post.rb +221 -2
  19. data/lib/post_for_me/models/threads_configuration_dto.rb +118 -3
  20. data/lib/post_for_me/models/tiktok_configuration.rb +127 -4
  21. data/lib/post_for_me/models/twitter_configuration_dto.rb +211 -4
  22. data/lib/post_for_me/models/youtube_configuration_dto.rb +118 -3
  23. data/lib/post_for_me/version.rb +1 -1
  24. data/rbi/post_for_me/errors.rbi +29 -2
  25. data/rbi/post_for_me/file_part.rbi +1 -1
  26. data/rbi/post_for_me/internal/transport/base_client.rbi +4 -5
  27. data/rbi/post_for_me/internal/type/base_page.rbi +1 -1
  28. data/rbi/post_for_me/internal/util.rbi +1 -1
  29. data/rbi/post_for_me/models/bluesky_configuration_dto.rbi +243 -3
  30. data/rbi/post_for_me/models/create_social_post.rbi +424 -0
  31. data/rbi/post_for_me/models/facebook_configuration_dto.rbi +258 -3
  32. data/rbi/post_for_me/models/instagram_configuration_dto.rbi +267 -6
  33. data/rbi/post_for_me/models/linkedin_configuration_dto.rbi +245 -3
  34. data/rbi/post_for_me/models/pinterest_configuration_dto.rbi +246 -3
  35. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +104 -0
  36. data/rbi/post_for_me/models/social_post.rbi +414 -0
  37. data/rbi/post_for_me/models/threads_configuration_dto.rbi +240 -3
  38. data/rbi/post_for_me/models/tiktok_configuration.rbi +237 -3
  39. data/rbi/post_for_me/models/twitter_configuration_dto.rbi +452 -4
  40. data/rbi/post_for_me/models/youtube_configuration_dto.rbi +240 -3
  41. data/sig/post_for_me/errors.rbs +7 -0
  42. data/sig/post_for_me/file_part.rbs +1 -1
  43. data/sig/post_for_me/models/bluesky_configuration_dto.rbs +109 -4
  44. data/sig/post_for_me/models/create_social_post.rbs +180 -1
  45. data/sig/post_for_me/models/facebook_configuration_dto.rbs +109 -4
  46. data/sig/post_for_me/models/instagram_configuration_dto.rbs +112 -7
  47. data/sig/post_for_me/models/linkedin_configuration_dto.rbs +109 -4
  48. data/sig/post_for_me/models/pinterest_configuration_dto.rbs +99 -4
  49. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +37 -0
  50. data/sig/post_for_me/models/social_post.rbs +180 -1
  51. data/sig/post_for_me/models/threads_configuration_dto.rbs +99 -4
  52. data/sig/post_for_me/models/tiktok_configuration.rbs +104 -4
  53. data/sig/post_for_me/models/twitter_configuration_dto.rbs +196 -4
  54. data/sig/post_for_me/models/youtube_configuration_dto.rbs +107 -4
  55. metadata +2 -2
@@ -5,12 +5,13 @@ module PostForMe
5
5
  allow_comment: bool?,
6
6
  allow_duet: bool?,
7
7
  allow_stitch: bool?,
8
+ auto_add_music: bool?,
8
9
  caption: top?,
9
10
  disclose_branded_content: bool?,
10
11
  disclose_your_brand: bool?,
11
12
  is_ai_generated: bool?,
12
13
  is_draft: bool?,
13
- media: ::Array[String]?,
14
+ media: ::Array[PostForMe::TiktokConfiguration::Media]?,
14
15
  privacy_status: String?,
15
16
  title: String?
16
17
  }
@@ -22,6 +23,8 @@ module PostForMe
22
23
 
23
24
  attr_accessor allow_stitch: bool?
24
25
 
26
+ attr_accessor auto_add_music: bool?
27
+
25
28
  attr_accessor caption: top?
26
29
 
27
30
  attr_accessor disclose_branded_content: bool?
@@ -32,7 +35,7 @@ module PostForMe
32
35
 
33
36
  attr_accessor is_draft: bool?
34
37
 
35
- attr_accessor media: ::Array[String]?
38
+ attr_accessor media: ::Array[PostForMe::TiktokConfiguration::Media]?
36
39
 
37
40
  attr_accessor privacy_status: String?
38
41
 
@@ -42,12 +45,13 @@ module PostForMe
42
45
  ?allow_comment: bool?,
43
46
  ?allow_duet: bool?,
44
47
  ?allow_stitch: bool?,
48
+ ?auto_add_music: bool?,
45
49
  ?caption: top?,
46
50
  ?disclose_branded_content: bool?,
47
51
  ?disclose_your_brand: bool?,
48
52
  ?is_ai_generated: bool?,
49
53
  ?is_draft: bool?,
50
- ?media: ::Array[String]?,
54
+ ?media: ::Array[PostForMe::TiktokConfiguration::Media]?,
51
55
  ?privacy_status: String?,
52
56
  ?title: String?
53
57
  ) -> void
@@ -56,15 +60,111 @@ module PostForMe
56
60
  allow_comment: bool?,
57
61
  allow_duet: bool?,
58
62
  allow_stitch: bool?,
63
+ auto_add_music: bool?,
59
64
  caption: top?,
60
65
  disclose_branded_content: bool?,
61
66
  disclose_your_brand: bool?,
62
67
  is_ai_generated: bool?,
63
68
  is_draft: bool?,
64
- media: ::Array[String]?,
69
+ media: ::Array[PostForMe::TiktokConfiguration::Media]?,
65
70
  privacy_status: String?,
66
71
  title: String?
67
72
  }
73
+
74
+ type media =
75
+ {
76
+ url: String,
77
+ tags: ::Array[PostForMe::TiktokConfiguration::Media::Tag]?,
78
+ thumbnail_timestamp_ms: top?,
79
+ thumbnail_url: top?
80
+ }
81
+
82
+ class Media < PostForMe::Internal::Type::BaseModel
83
+ attr_accessor url: String
84
+
85
+ attr_accessor tags: ::Array[PostForMe::TiktokConfiguration::Media::Tag]?
86
+
87
+ attr_accessor thumbnail_timestamp_ms: top?
88
+
89
+ attr_accessor thumbnail_url: top?
90
+
91
+ def initialize: (
92
+ url: String,
93
+ ?tags: ::Array[PostForMe::TiktokConfiguration::Media::Tag]?,
94
+ ?thumbnail_timestamp_ms: top?,
95
+ ?thumbnail_url: top?
96
+ ) -> void
97
+
98
+ def to_hash: -> {
99
+ url: String,
100
+ tags: ::Array[PostForMe::TiktokConfiguration::Media::Tag]?,
101
+ thumbnail_timestamp_ms: top?,
102
+ thumbnail_url: top?
103
+ }
104
+
105
+ type tag =
106
+ {
107
+ id: String,
108
+ platform: PostForMe::Models::TiktokConfiguration::Media::Tag::platform,
109
+ type: PostForMe::Models::TiktokConfiguration::Media::Tag::type_,
110
+ x: Float,
111
+ y_: Float
112
+ }
113
+
114
+ class Tag < PostForMe::Internal::Type::BaseModel
115
+ attr_accessor id: String
116
+
117
+ attr_accessor platform: PostForMe::Models::TiktokConfiguration::Media::Tag::platform
118
+
119
+ attr_accessor type: PostForMe::Models::TiktokConfiguration::Media::Tag::type_
120
+
121
+ attr_reader x: Float?
122
+
123
+ def x=: (Float) -> Float
124
+
125
+ attr_reader y_: Float?
126
+
127
+ def y_=: (Float) -> Float
128
+
129
+ def initialize: (
130
+ id: String,
131
+ platform: PostForMe::Models::TiktokConfiguration::Media::Tag::platform,
132
+ type: PostForMe::Models::TiktokConfiguration::Media::Tag::type_,
133
+ ?x: Float,
134
+ ?y_: Float
135
+ ) -> void
136
+
137
+ def to_hash: -> {
138
+ id: String,
139
+ platform: PostForMe::Models::TiktokConfiguration::Media::Tag::platform,
140
+ type: PostForMe::Models::TiktokConfiguration::Media::Tag::type_,
141
+ x: Float,
142
+ y_: Float
143
+ }
144
+
145
+ type platform = :facebook | :instagram
146
+
147
+ module Platform
148
+ extend PostForMe::Internal::Type::Enum
149
+
150
+ FACEBOOK: :facebook
151
+ INSTAGRAM: :instagram
152
+
153
+ def self?.values: -> ::Array[PostForMe::Models::TiktokConfiguration::Media::Tag::platform]
154
+ end
155
+
156
+ type type_ = :user | :product
157
+
158
+ module Type
159
+ extend PostForMe::Internal::Type::Enum
160
+
161
+ USER: :user
162
+ PRODUCT: :product
163
+
164
+ def self?.values: -> ::Array[PostForMe::Models::TiktokConfiguration::Media::Tag::type_]
165
+ end
166
+ end
167
+ end
68
168
  end
69
169
  end
70
170
  end
@@ -1,15 +1,207 @@
1
1
  module PostForMe
2
2
  module Models
3
- type twitter_configuration_dto = { caption: top?, media: ::Array[String]? }
3
+ type twitter_configuration_dto =
4
+ {
5
+ caption: top?,
6
+ community_id: String,
7
+ media: ::Array[PostForMe::TwitterConfigurationDto::Media]?,
8
+ poll: PostForMe::TwitterConfigurationDto::Poll,
9
+ quote_tweet_id: String,
10
+ reply_settings: PostForMe::Models::TwitterConfigurationDto::reply_settings?
11
+ }
4
12
 
5
13
  class TwitterConfigurationDto < PostForMe::Internal::Type::BaseModel
6
14
  attr_accessor caption: top?
7
15
 
8
- attr_accessor media: ::Array[String]?
16
+ attr_reader community_id: String?
9
17
 
10
- def initialize: (?caption: top?, ?media: ::Array[String]?) -> void
18
+ def community_id=: (String) -> String
11
19
 
12
- def to_hash: -> { caption: top?, media: ::Array[String]? }
20
+ attr_accessor media: ::Array[PostForMe::TwitterConfigurationDto::Media]?
21
+
22
+ attr_reader poll: PostForMe::TwitterConfigurationDto::Poll?
23
+
24
+ def poll=: (
25
+ PostForMe::TwitterConfigurationDto::Poll
26
+ ) -> PostForMe::TwitterConfigurationDto::Poll
27
+
28
+ attr_reader quote_tweet_id: String?
29
+
30
+ def quote_tweet_id=: (String) -> String
31
+
32
+ attr_accessor reply_settings: PostForMe::Models::TwitterConfigurationDto::reply_settings?
33
+
34
+ def initialize: (
35
+ ?caption: top?,
36
+ ?community_id: String,
37
+ ?media: ::Array[PostForMe::TwitterConfigurationDto::Media]?,
38
+ ?poll: PostForMe::TwitterConfigurationDto::Poll,
39
+ ?quote_tweet_id: String,
40
+ ?reply_settings: PostForMe::Models::TwitterConfigurationDto::reply_settings?
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ caption: top?,
45
+ community_id: String,
46
+ media: ::Array[PostForMe::TwitterConfigurationDto::Media]?,
47
+ poll: PostForMe::TwitterConfigurationDto::Poll,
48
+ quote_tweet_id: String,
49
+ reply_settings: PostForMe::Models::TwitterConfigurationDto::reply_settings?
50
+ }
51
+
52
+ type media =
53
+ {
54
+ url: String,
55
+ tags: ::Array[PostForMe::TwitterConfigurationDto::Media::Tag]?,
56
+ thumbnail_timestamp_ms: top?,
57
+ thumbnail_url: top?
58
+ }
59
+
60
+ class Media < PostForMe::Internal::Type::BaseModel
61
+ attr_accessor url: String
62
+
63
+ attr_accessor tags: ::Array[PostForMe::TwitterConfigurationDto::Media::Tag]?
64
+
65
+ attr_accessor thumbnail_timestamp_ms: top?
66
+
67
+ attr_accessor thumbnail_url: top?
68
+
69
+ def initialize: (
70
+ url: String,
71
+ ?tags: ::Array[PostForMe::TwitterConfigurationDto::Media::Tag]?,
72
+ ?thumbnail_timestamp_ms: top?,
73
+ ?thumbnail_url: top?
74
+ ) -> void
75
+
76
+ def to_hash: -> {
77
+ url: String,
78
+ tags: ::Array[PostForMe::TwitterConfigurationDto::Media::Tag]?,
79
+ thumbnail_timestamp_ms: top?,
80
+ thumbnail_url: top?
81
+ }
82
+
83
+ type tag =
84
+ {
85
+ id: String,
86
+ platform: PostForMe::Models::TwitterConfigurationDto::Media::Tag::platform,
87
+ type: PostForMe::Models::TwitterConfigurationDto::Media::Tag::type_,
88
+ x: Float,
89
+ y_: Float
90
+ }
91
+
92
+ class Tag < PostForMe::Internal::Type::BaseModel
93
+ attr_accessor id: String
94
+
95
+ attr_accessor platform: PostForMe::Models::TwitterConfigurationDto::Media::Tag::platform
96
+
97
+ attr_accessor type: PostForMe::Models::TwitterConfigurationDto::Media::Tag::type_
98
+
99
+ attr_reader x: Float?
100
+
101
+ def x=: (Float) -> Float
102
+
103
+ attr_reader y_: Float?
104
+
105
+ def y_=: (Float) -> Float
106
+
107
+ def initialize: (
108
+ id: String,
109
+ platform: PostForMe::Models::TwitterConfigurationDto::Media::Tag::platform,
110
+ type: PostForMe::Models::TwitterConfigurationDto::Media::Tag::type_,
111
+ ?x: Float,
112
+ ?y_: Float
113
+ ) -> void
114
+
115
+ def to_hash: -> {
116
+ id: String,
117
+ platform: PostForMe::Models::TwitterConfigurationDto::Media::Tag::platform,
118
+ type: PostForMe::Models::TwitterConfigurationDto::Media::Tag::type_,
119
+ x: Float,
120
+ y_: Float
121
+ }
122
+
123
+ type platform = :facebook | :instagram
124
+
125
+ module Platform
126
+ extend PostForMe::Internal::Type::Enum
127
+
128
+ FACEBOOK: :facebook
129
+ INSTAGRAM: :instagram
130
+
131
+ def self?.values: -> ::Array[PostForMe::Models::TwitterConfigurationDto::Media::Tag::platform]
132
+ end
133
+
134
+ type type_ = :user | :product
135
+
136
+ module Type
137
+ extend PostForMe::Internal::Type::Enum
138
+
139
+ USER: :user
140
+ PRODUCT: :product
141
+
142
+ def self?.values: -> ::Array[PostForMe::Models::TwitterConfigurationDto::Media::Tag::type_]
143
+ end
144
+ end
145
+ end
146
+
147
+ type poll =
148
+ {
149
+ duration_minutes: Float,
150
+ options: ::Array[String],
151
+ reply_settings: PostForMe::Models::TwitterConfigurationDto::Poll::reply_settings
152
+ }
153
+
154
+ class Poll < PostForMe::Internal::Type::BaseModel
155
+ attr_accessor duration_minutes: Float
156
+
157
+ attr_accessor options: ::Array[String]
158
+
159
+ attr_reader reply_settings: PostForMe::Models::TwitterConfigurationDto::Poll::reply_settings?
160
+
161
+ def reply_settings=: (
162
+ PostForMe::Models::TwitterConfigurationDto::Poll::reply_settings
163
+ ) -> PostForMe::Models::TwitterConfigurationDto::Poll::reply_settings
164
+
165
+ def initialize: (
166
+ duration_minutes: Float,
167
+ options: ::Array[String],
168
+ ?reply_settings: PostForMe::Models::TwitterConfigurationDto::Poll::reply_settings
169
+ ) -> void
170
+
171
+ def to_hash: -> {
172
+ duration_minutes: Float,
173
+ options: ::Array[String],
174
+ reply_settings: PostForMe::Models::TwitterConfigurationDto::Poll::reply_settings
175
+ }
176
+
177
+ type reply_settings =
178
+ :following | :mentionedUsers | :subscribers | :verified
179
+
180
+ module ReplySettings
181
+ extend PostForMe::Internal::Type::Enum
182
+
183
+ FOLLOWING: :following
184
+ MENTIONED_USERS: :mentionedUsers
185
+ SUBSCRIBERS: :subscribers
186
+ VERIFIED: :verified
187
+
188
+ def self?.values: -> ::Array[PostForMe::Models::TwitterConfigurationDto::Poll::reply_settings]
189
+ end
190
+ end
191
+
192
+ type reply_settings =
193
+ :following | :mentionedUsers | :subscribers | :verified
194
+
195
+ module ReplySettings
196
+ extend PostForMe::Internal::Type::Enum
197
+
198
+ FOLLOWING: :following
199
+ MENTIONED_USERS: :mentionedUsers
200
+ SUBSCRIBERS: :subscribers
201
+ VERIFIED: :verified
202
+
203
+ def self?.values: -> ::Array[PostForMe::Models::TwitterConfigurationDto::reply_settings]
204
+ end
13
205
  end
14
206
  end
15
207
  end
@@ -1,22 +1,125 @@
1
1
  module PostForMe
2
2
  module Models
3
3
  type youtube_configuration_dto =
4
- { caption: top?, media: ::Array[String]?, title: String? }
4
+ {
5
+ caption: top?,
6
+ media: ::Array[PostForMe::YoutubeConfigurationDto::Media]?,
7
+ title: String?
8
+ }
5
9
 
6
10
  class YoutubeConfigurationDto < PostForMe::Internal::Type::BaseModel
7
11
  attr_accessor caption: top?
8
12
 
9
- attr_accessor media: ::Array[String]?
13
+ attr_accessor media: ::Array[PostForMe::YoutubeConfigurationDto::Media]?
10
14
 
11
15
  attr_accessor title: String?
12
16
 
13
17
  def initialize: (
14
18
  ?caption: top?,
15
- ?media: ::Array[String]?,
19
+ ?media: ::Array[PostForMe::YoutubeConfigurationDto::Media]?,
16
20
  ?title: String?
17
21
  ) -> void
18
22
 
19
- def to_hash: -> { caption: top?, media: ::Array[String]?, title: String? }
23
+ def to_hash: -> {
24
+ caption: top?,
25
+ media: ::Array[PostForMe::YoutubeConfigurationDto::Media]?,
26
+ title: String?
27
+ }
28
+
29
+ type media =
30
+ {
31
+ url: String,
32
+ tags: ::Array[PostForMe::YoutubeConfigurationDto::Media::Tag]?,
33
+ thumbnail_timestamp_ms: top?,
34
+ thumbnail_url: top?
35
+ }
36
+
37
+ class Media < PostForMe::Internal::Type::BaseModel
38
+ attr_accessor url: String
39
+
40
+ attr_accessor tags: ::Array[PostForMe::YoutubeConfigurationDto::Media::Tag]?
41
+
42
+ attr_accessor thumbnail_timestamp_ms: top?
43
+
44
+ attr_accessor thumbnail_url: top?
45
+
46
+ def initialize: (
47
+ url: String,
48
+ ?tags: ::Array[PostForMe::YoutubeConfigurationDto::Media::Tag]?,
49
+ ?thumbnail_timestamp_ms: top?,
50
+ ?thumbnail_url: top?
51
+ ) -> void
52
+
53
+ def to_hash: -> {
54
+ url: String,
55
+ tags: ::Array[PostForMe::YoutubeConfigurationDto::Media::Tag]?,
56
+ thumbnail_timestamp_ms: top?,
57
+ thumbnail_url: top?
58
+ }
59
+
60
+ type tag =
61
+ {
62
+ id: String,
63
+ platform: PostForMe::Models::YoutubeConfigurationDto::Media::Tag::platform,
64
+ type: PostForMe::Models::YoutubeConfigurationDto::Media::Tag::type_,
65
+ x: Float,
66
+ y_: Float
67
+ }
68
+
69
+ class Tag < PostForMe::Internal::Type::BaseModel
70
+ attr_accessor id: String
71
+
72
+ attr_accessor platform: PostForMe::Models::YoutubeConfigurationDto::Media::Tag::platform
73
+
74
+ attr_accessor type: PostForMe::Models::YoutubeConfigurationDto::Media::Tag::type_
75
+
76
+ attr_reader x: Float?
77
+
78
+ def x=: (Float) -> Float
79
+
80
+ attr_reader y_: Float?
81
+
82
+ def y_=: (Float) -> Float
83
+
84
+ def initialize: (
85
+ id: String,
86
+ platform: PostForMe::Models::YoutubeConfigurationDto::Media::Tag::platform,
87
+ type: PostForMe::Models::YoutubeConfigurationDto::Media::Tag::type_,
88
+ ?x: Float,
89
+ ?y_: Float
90
+ ) -> void
91
+
92
+ def to_hash: -> {
93
+ id: String,
94
+ platform: PostForMe::Models::YoutubeConfigurationDto::Media::Tag::platform,
95
+ type: PostForMe::Models::YoutubeConfigurationDto::Media::Tag::type_,
96
+ x: Float,
97
+ y_: Float
98
+ }
99
+
100
+ type platform = :facebook | :instagram
101
+
102
+ module Platform
103
+ extend PostForMe::Internal::Type::Enum
104
+
105
+ FACEBOOK: :facebook
106
+ INSTAGRAM: :instagram
107
+
108
+ def self?.values: -> ::Array[PostForMe::Models::YoutubeConfigurationDto::Media::Tag::platform]
109
+ end
110
+
111
+ type type_ = :user | :product
112
+
113
+ module Type
114
+ extend PostForMe::Internal::Type::Enum
115
+
116
+ USER: :user
117
+ PRODUCT: :product
118
+
119
+ def self?.values: -> ::Array[PostForMe::Models::YoutubeConfigurationDto::Media::Tag::type_]
120
+ end
121
+ end
122
+ end
20
123
  end
21
124
  end
22
125
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: post-for-me
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.alpha.7
4
+ version: 0.1.0.pre.alpha.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Post For Me
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-28 00:00:00.000000000 Z
11
+ date: 2025-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool