x-twitter-scraper 0.6.0 → 0.7.0

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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +1 -1
  4. data/lib/x_twitter_scraper/internal/type/union.rb +25 -9
  5. data/lib/x_twitter_scraper/models/content_disclosure.rb +1 -9
  6. data/lib/x_twitter_scraper/models/embedded_tweet.rb +389 -1
  7. data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -5
  8. data/lib/x_twitter_scraper/models/search_tweet.rb +371 -1
  9. data/lib/x_twitter_scraper/models/support/ticket_list_response.rb +30 -17
  10. data/lib/x_twitter_scraper/models/support/ticket_retrieve_response.rb +49 -24
  11. data/lib/x_twitter_scraper/models/support/ticket_update_response.rb +18 -6
  12. data/lib/x_twitter_scraper/models/trend_list_response.rb +28 -1
  13. data/lib/x_twitter_scraper/models/tweet_media.rb +213 -1
  14. data/lib/x_twitter_scraper/models/user_profile.rb +211 -21
  15. data/lib/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rb +60 -26
  16. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rb +4 -4
  17. data/lib/x_twitter_scraper/models/x/account_create_response.rb +149 -2
  18. data/lib/x_twitter_scraper/models/x/account_reauth_response.rb +4 -4
  19. data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +3 -5
  20. data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +3 -5
  21. data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +1 -17
  22. data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +3 -5
  23. data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +3 -5
  24. data/lib/x_twitter_scraper/models/x/tweet_author.rb +14 -1
  25. data/lib/x_twitter_scraper/models/x/tweet_detail.rb +373 -1
  26. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +3 -5
  27. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +34 -6
  28. data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +345 -0
  29. data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +3 -5
  30. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +3 -5
  31. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +3 -5
  32. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +3 -5
  33. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +3 -5
  34. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +3 -5
  35. data/lib/x_twitter_scraper/models/x_get_article_response.rb +1 -7
  36. data/lib/x_twitter_scraper/models/x_get_trends_response.rb +28 -1
  37. data/lib/x_twitter_scraper/resources/x/account_connection_attempts.rb +1 -1
  38. data/lib/x_twitter_scraper/resources/x/accounts.rb +2 -2
  39. data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +2 -2
  40. data/lib/x_twitter_scraper/resources/x/communities.rb +1 -1
  41. data/lib/x_twitter_scraper/resources/x/lists.rb +1 -1
  42. data/lib/x_twitter_scraper/resources/x/tweets.rb +14 -11
  43. data/lib/x_twitter_scraper/resources/x/users.rb +5 -5
  44. data/lib/x_twitter_scraper/version.rb +1 -1
  45. data/lib/x_twitter_scraper.rb +2 -1
  46. data/rbi/x_twitter_scraper/models/content_disclosure.rbi +1 -15
  47. data/rbi/x_twitter_scraper/models/embedded_tweet.rbi +708 -3
  48. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -5
  49. data/rbi/x_twitter_scraper/models/search_tweet.rbi +674 -3
  50. data/rbi/x_twitter_scraper/models/support/ticket_list_response.rbi +75 -55
  51. data/rbi/x_twitter_scraper/models/support/ticket_retrieve_response.rbi +129 -87
  52. data/rbi/x_twitter_scraper/models/support/ticket_update_response.rbi +62 -13
  53. data/rbi/x_twitter_scraper/models/trend_list_response.rbi +40 -3
  54. data/rbi/x_twitter_scraper/models/tweet_media.rbi +313 -3
  55. data/rbi/x_twitter_scraper/models/user_profile.rbi +340 -29
  56. data/rbi/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rbi +61 -83
  57. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbi +6 -6
  58. data/rbi/x_twitter_scraper/models/x/account_create_response.rbi +264 -2
  59. data/rbi/x_twitter_scraper/models/x/account_reauth_response.rbi +6 -6
  60. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +4 -8
  61. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +4 -8
  62. data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +0 -22
  63. data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +4 -8
  64. data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +4 -8
  65. data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +13 -3
  66. data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +690 -3
  67. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +4 -8
  68. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +68 -8
  69. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +527 -0
  70. data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +4 -8
  71. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +4 -8
  72. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +4 -8
  73. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +4 -8
  74. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +4 -8
  75. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +4 -8
  76. data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +0 -9
  77. data/rbi/x_twitter_scraper/models/x_get_trends_response.rbi +40 -3
  78. data/rbi/x_twitter_scraper/resources/x/accounts.rbi +1 -1
  79. data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +4 -8
  80. data/rbi/x_twitter_scraper/resources/x/communities.rbi +2 -4
  81. data/rbi/x_twitter_scraper/resources/x/lists.rbi +2 -4
  82. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +20 -18
  83. data/rbi/x_twitter_scraper/resources/x/users.rbi +10 -20
  84. data/sig/x_twitter_scraper/models/content_disclosure.rbs +1 -11
  85. data/sig/x_twitter_scraper/models/embedded_tweet.rbs +343 -62
  86. data/sig/x_twitter_scraper/models/search_tweet.rbs +333 -70
  87. data/sig/x_twitter_scraper/models/support/ticket_list_response.rbs +29 -32
  88. data/sig/x_twitter_scraper/models/support/ticket_retrieve_response.rbs +49 -48
  89. data/sig/x_twitter_scraper/models/support/ticket_update_response.rbs +25 -7
  90. data/sig/x_twitter_scraper/models/trend_list_response.rbs +16 -20
  91. data/sig/x_twitter_scraper/models/tweet_media.rbs +146 -15
  92. data/sig/x_twitter_scraper/models/user_profile.rbs +164 -86
  93. data/sig/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rbs +50 -33
  94. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbs +5 -5
  95. data/sig/x_twitter_scraper/models/x/account_create_response.rbs +147 -1
  96. data/sig/x_twitter_scraper/models/x/account_reauth_response.rbs +5 -5
  97. data/sig/x_twitter_scraper/models/x/community_retrieve_info_response.rbs +0 -14
  98. data/sig/x_twitter_scraper/models/x/tweet_author.rbs +11 -3
  99. data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +333 -70
  100. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +26 -0
  101. data/sig/x_twitter_scraper/models/x/tweet_get_replies_response.rbs +274 -0
  102. data/sig/x_twitter_scraper/models/x_get_article_response.rbs +0 -7
  103. data/sig/x_twitter_scraper/models/x_get_trends_response.rbs +25 -3
  104. data/sig/x_twitter_scraper/resources/x/accounts.rbs +1 -1
  105. data/sig/x_twitter_scraper/resources/x/tweets.rbs +3 -1
  106. metadata +4 -1
@@ -18,24 +18,12 @@ module XTwitterScraper
18
18
 
19
19
  sig do
20
20
  returns(
21
- T.nilable(
22
- T::Array[
23
- XTwitterScraper::Models::Support::TicketListResponse::Ticket
24
- ]
25
- )
21
+ T::Array[
22
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket
23
+ ]
26
24
  )
27
25
  end
28
- attr_reader :tickets
29
-
30
- sig do
31
- params(
32
- tickets:
33
- T::Array[
34
- XTwitterScraper::Models::Support::TicketListResponse::Ticket::OrHash
35
- ]
36
- ).void
37
- end
38
- attr_writer :tickets
26
+ attr_accessor :tickets
39
27
 
40
28
  sig do
41
29
  params(
@@ -45,7 +33,7 @@ module XTwitterScraper
45
33
  ]
46
34
  ).returns(T.attached_class)
47
35
  end
48
- def self.new(tickets: nil)
36
+ def self.new(tickets:)
49
37
  end
50
38
 
51
39
  sig do
@@ -70,59 +58,46 @@ module XTwitterScraper
70
58
  )
71
59
  end
72
60
 
73
- sig { returns(T.nilable(Time)) }
74
- attr_reader :created_at
75
-
76
- sig { params(created_at: Time).void }
77
- attr_writer :created_at
78
-
79
- sig { returns(T.nilable(Integer)) }
80
- attr_reader :message_count
81
-
82
- sig { params(message_count: Integer).void }
83
- attr_writer :message_count
84
-
85
- sig { returns(T.nilable(String)) }
86
- attr_reader :public_id
87
-
88
- sig { params(public_id: String).void }
89
- attr_writer :public_id
61
+ sig { returns(Time) }
62
+ attr_accessor :created_at
90
63
 
91
- sig { returns(T.nilable(String)) }
92
- attr_reader :status
64
+ sig { returns(Integer) }
65
+ attr_accessor :message_count
93
66
 
94
- sig { params(status: String).void }
95
- attr_writer :status
67
+ sig { returns(String) }
68
+ attr_accessor :public_id
96
69
 
97
- sig { returns(T.nilable(String)) }
98
- attr_reader :subject
99
-
100
- sig { params(subject: String).void }
101
- attr_writer :subject
70
+ sig do
71
+ returns(
72
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status::TaggedSymbol
73
+ )
74
+ end
75
+ attr_accessor :status
102
76
 
103
- sig { returns(T.nilable(Time)) }
104
- attr_reader :updated_at
77
+ sig { returns(String) }
78
+ attr_accessor :subject
105
79
 
106
- sig { params(updated_at: Time).void }
107
- attr_writer :updated_at
80
+ sig { returns(Time) }
81
+ attr_accessor :updated_at
108
82
 
109
83
  sig do
110
84
  params(
111
85
  created_at: Time,
112
86
  message_count: Integer,
113
87
  public_id: String,
114
- status: String,
88
+ status:
89
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status::OrSymbol,
115
90
  subject: String,
116
91
  updated_at: Time
117
92
  ).returns(T.attached_class)
118
93
  end
119
94
  def self.new(
120
- created_at: nil,
121
- message_count: nil,
122
- public_id: nil,
123
- status: nil,
124
- subject: nil,
125
- updated_at: nil
95
+ created_at:,
96
+ message_count:,
97
+ public_id:,
98
+ status:,
99
+ subject:,
100
+ updated_at:
126
101
  )
127
102
  end
128
103
 
@@ -132,7 +107,8 @@ module XTwitterScraper
132
107
  created_at: Time,
133
108
  message_count: Integer,
134
109
  public_id: String,
135
- status: String,
110
+ status:
111
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status::TaggedSymbol,
136
112
  subject: String,
137
113
  updated_at: Time
138
114
  }
@@ -140,6 +116,50 @@ module XTwitterScraper
140
116
  end
141
117
  def to_hash
142
118
  end
119
+
120
+ module Status
121
+ extend XTwitterScraper::Internal::Type::Enum
122
+
123
+ TaggedSymbol =
124
+ T.type_alias do
125
+ T.all(
126
+ Symbol,
127
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status
128
+ )
129
+ end
130
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
131
+
132
+ OPEN =
133
+ T.let(
134
+ :open,
135
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status::TaggedSymbol
136
+ )
137
+ IN_PROGRESS =
138
+ T.let(
139
+ :in_progress,
140
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status::TaggedSymbol
141
+ )
142
+ RESOLVED =
143
+ T.let(
144
+ :resolved,
145
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status::TaggedSymbol
146
+ )
147
+ CLOSED =
148
+ T.let(
149
+ :closed,
150
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status::TaggedSymbol
151
+ )
152
+
153
+ sig do
154
+ override.returns(
155
+ T::Array[
156
+ XTwitterScraper::Models::Support::TicketListResponse::Ticket::Status::TaggedSymbol
157
+ ]
158
+ )
159
+ end
160
+ def self.values
161
+ end
162
+ end
143
163
  end
144
164
  end
145
165
  end
@@ -16,56 +16,33 @@ module XTwitterScraper
16
16
  )
17
17
  end
18
18
 
19
- sig { returns(T.nilable(Time)) }
20
- attr_reader :created_at
21
-
22
- sig { params(created_at: Time).void }
23
- attr_writer :created_at
19
+ sig { returns(Time) }
20
+ attr_accessor :created_at
24
21
 
25
22
  sig do
26
23
  returns(
27
- T.nilable(
28
- T::Array[
29
- XTwitterScraper::Models::Support::TicketRetrieveResponse::Message
30
- ]
31
- )
24
+ T::Array[
25
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message
26
+ ]
32
27
  )
33
28
  end
34
- attr_reader :messages
29
+ attr_accessor :messages
30
+
31
+ sig { returns(String) }
32
+ attr_accessor :public_id
35
33
 
36
34
  sig do
37
- params(
38
- messages:
39
- T::Array[
40
- XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::OrHash
41
- ]
42
- ).void
35
+ returns(
36
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status::TaggedSymbol
37
+ )
43
38
  end
44
- attr_writer :messages
45
-
46
- sig { returns(T.nilable(String)) }
47
- attr_reader :public_id
48
-
49
- sig { params(public_id: String).void }
50
- attr_writer :public_id
51
-
52
- sig { returns(T.nilable(String)) }
53
- attr_reader :status
39
+ attr_accessor :status
54
40
 
55
- sig { params(status: String).void }
56
- attr_writer :status
41
+ sig { returns(String) }
42
+ attr_accessor :subject
57
43
 
58
- sig { returns(T.nilable(String)) }
59
- attr_reader :subject
60
-
61
- sig { params(subject: String).void }
62
- attr_writer :subject
63
-
64
- sig { returns(T.nilable(Time)) }
65
- attr_reader :updated_at
66
-
67
- sig { params(updated_at: Time).void }
68
- attr_writer :updated_at
44
+ sig { returns(Time) }
45
+ attr_accessor :updated_at
69
46
 
70
47
  sig do
71
48
  params(
@@ -75,18 +52,19 @@ module XTwitterScraper
75
52
  XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::OrHash
76
53
  ],
77
54
  public_id: String,
78
- status: String,
55
+ status:
56
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status::OrSymbol,
79
57
  subject: String,
80
58
  updated_at: Time
81
59
  ).returns(T.attached_class)
82
60
  end
83
61
  def self.new(
84
- created_at: nil,
85
- messages: nil,
86
- public_id: nil,
87
- status: nil,
88
- subject: nil,
89
- updated_at: nil
62
+ created_at:,
63
+ messages:,
64
+ public_id:,
65
+ status:,
66
+ subject:,
67
+ updated_at:
90
68
  )
91
69
  end
92
70
 
@@ -99,7 +77,8 @@ module XTwitterScraper
99
77
  XTwitterScraper::Models::Support::TicketRetrieveResponse::Message
100
78
  ],
101
79
  public_id: String,
102
- status: String,
80
+ status:
81
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status::TaggedSymbol,
103
82
  subject: String,
104
83
  updated_at: Time
105
84
  }
@@ -119,42 +98,25 @@ module XTwitterScraper
119
98
 
120
99
  sig do
121
100
  returns(
122
- T.nilable(
123
- T::Array[
124
- XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Attachment
125
- ]
126
- )
101
+ T::Array[
102
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Attachment
103
+ ]
127
104
  )
128
105
  end
129
- attr_reader :attachments
106
+ attr_accessor :attachments
130
107
 
131
- sig do
132
- params(
133
- attachments:
134
- T::Array[
135
- XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Attachment::OrHash
136
- ]
137
- ).void
138
- end
139
- attr_writer :attachments
140
-
141
- sig { returns(T.nilable(String)) }
142
- attr_reader :body
143
-
144
- sig { params(body: String).void }
145
- attr_writer :body
146
-
147
- sig { returns(T.nilable(Time)) }
148
- attr_reader :created_at
149
-
150
- sig { params(created_at: Time).void }
151
- attr_writer :created_at
108
+ sig { returns(String) }
109
+ attr_accessor :body
152
110
 
153
- sig { returns(T.nilable(String)) }
154
- attr_reader :sender
111
+ sig { returns(Time) }
112
+ attr_accessor :created_at
155
113
 
156
- sig { params(sender: String).void }
157
- attr_writer :sender
114
+ sig do
115
+ returns(
116
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Sender::TaggedSymbol
117
+ )
118
+ end
119
+ attr_accessor :sender
158
120
 
159
121
  sig do
160
122
  params(
@@ -164,15 +126,11 @@ module XTwitterScraper
164
126
  ],
165
127
  body: String,
166
128
  created_at: Time,
167
- sender: String
129
+ sender:
130
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Sender::OrSymbol
168
131
  ).returns(T.attached_class)
169
132
  end
170
- def self.new(
171
- attachments: nil,
172
- body: nil,
173
- created_at: nil,
174
- sender: nil
175
- )
133
+ def self.new(attachments:, body:, created_at:, sender:)
176
134
  end
177
135
 
178
136
  sig do
@@ -184,7 +142,8 @@ module XTwitterScraper
184
142
  ],
185
143
  body: String,
186
144
  created_at: Time,
187
- sender: String
145
+ sender:
146
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Sender::TaggedSymbol
188
147
  }
189
148
  )
190
149
  end
@@ -419,6 +378,89 @@ module XTwitterScraper
419
378
  end
420
379
  end
421
380
  end
381
+
382
+ module Sender
383
+ extend XTwitterScraper::Internal::Type::Enum
384
+
385
+ TaggedSymbol =
386
+ T.type_alias do
387
+ T.all(
388
+ Symbol,
389
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Sender
390
+ )
391
+ end
392
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
393
+
394
+ USER =
395
+ T.let(
396
+ :user,
397
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Sender::TaggedSymbol
398
+ )
399
+ SUPPORT =
400
+ T.let(
401
+ :support,
402
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Sender::TaggedSymbol
403
+ )
404
+ SYSTEM =
405
+ T.let(
406
+ :system,
407
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Sender::TaggedSymbol
408
+ )
409
+
410
+ sig do
411
+ override.returns(
412
+ T::Array[
413
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Message::Sender::TaggedSymbol
414
+ ]
415
+ )
416
+ end
417
+ def self.values
418
+ end
419
+ end
420
+ end
421
+
422
+ module Status
423
+ extend XTwitterScraper::Internal::Type::Enum
424
+
425
+ TaggedSymbol =
426
+ T.type_alias do
427
+ T.all(
428
+ Symbol,
429
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status
430
+ )
431
+ end
432
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
433
+
434
+ OPEN =
435
+ T.let(
436
+ :open,
437
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status::TaggedSymbol
438
+ )
439
+ IN_PROGRESS =
440
+ T.let(
441
+ :in_progress,
442
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status::TaggedSymbol
443
+ )
444
+ RESOLVED =
445
+ T.let(
446
+ :resolved,
447
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status::TaggedSymbol
448
+ )
449
+ CLOSED =
450
+ T.let(
451
+ :closed,
452
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status::TaggedSymbol
453
+ )
454
+
455
+ sig do
456
+ override.returns(
457
+ T::Array[
458
+ XTwitterScraper::Models::Support::TicketRetrieveResponse::Status::TaggedSymbol
459
+ ]
460
+ )
461
+ end
462
+ def self.values
463
+ end
422
464
  end
423
465
  end
424
466
  end
@@ -16,27 +16,76 @@ module XTwitterScraper
16
16
  )
17
17
  end
18
18
 
19
- sig { returns(T.nilable(String)) }
20
- attr_reader :public_id
19
+ sig { returns(String) }
20
+ attr_accessor :public_id
21
21
 
22
- sig { params(public_id: String).void }
23
- attr_writer :public_id
24
-
25
- sig { returns(T.nilable(String)) }
26
- attr_reader :status
27
-
28
- sig { params(status: String).void }
29
- attr_writer :status
22
+ sig do
23
+ returns(
24
+ XTwitterScraper::Models::Support::TicketUpdateResponse::Status::TaggedSymbol
25
+ )
26
+ end
27
+ attr_accessor :status
30
28
 
31
29
  sig do
32
- params(public_id: String, status: String).returns(T.attached_class)
30
+ params(
31
+ public_id: String,
32
+ status:
33
+ XTwitterScraper::Models::Support::TicketUpdateResponse::Status::OrSymbol
34
+ ).returns(T.attached_class)
33
35
  end
34
- def self.new(public_id: nil, status: nil)
36
+ def self.new(public_id:, status:)
35
37
  end
36
38
 
37
- sig { override.returns({ public_id: String, status: String }) }
39
+ sig do
40
+ override.returns(
41
+ {
42
+ public_id: String,
43
+ status:
44
+ XTwitterScraper::Models::Support::TicketUpdateResponse::Status::TaggedSymbol
45
+ }
46
+ )
47
+ end
38
48
  def to_hash
39
49
  end
50
+
51
+ module Status
52
+ extend XTwitterScraper::Internal::Type::Enum
53
+
54
+ TaggedSymbol =
55
+ T.type_alias do
56
+ T.all(
57
+ Symbol,
58
+ XTwitterScraper::Models::Support::TicketUpdateResponse::Status
59
+ )
60
+ end
61
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
62
+
63
+ OPEN =
64
+ T.let(
65
+ :open,
66
+ XTwitterScraper::Models::Support::TicketUpdateResponse::Status::TaggedSymbol
67
+ )
68
+ RESOLVED =
69
+ T.let(
70
+ :resolved,
71
+ XTwitterScraper::Models::Support::TicketUpdateResponse::Status::TaggedSymbol
72
+ )
73
+ CLOSED =
74
+ T.let(
75
+ :closed,
76
+ XTwitterScraper::Models::Support::TicketUpdateResponse::Status::TaggedSymbol
77
+ )
78
+
79
+ sig do
80
+ override.returns(
81
+ T::Array[
82
+ XTwitterScraper::Models::Support::TicketUpdateResponse::Status::TaggedSymbol
83
+ ]
84
+ )
85
+ end
86
+ def self.values
87
+ end
88
+ end
40
89
  end
41
90
  end
42
91
  end
@@ -67,6 +67,10 @@ module XTwitterScraper
67
67
  sig { params(description: String).void }
68
68
  attr_writer :description
69
69
 
70
+ # Promotion identifier from X. Null for organic trends.
71
+ sig { returns(T.nilable(String)) }
72
+ attr_accessor :promoted_content
73
+
70
74
  sig { returns(T.nilable(String)) }
71
75
  attr_reader :query
72
76
 
@@ -79,20 +83,53 @@ module XTwitterScraper
79
83
  sig { params(rank: Integer).void }
80
84
  attr_writer :rank
81
85
 
86
+ # Approximate public post volume when X supplies it.
87
+ sig { returns(T.nilable(Integer)) }
88
+ attr_accessor :tweet_volume
89
+
90
+ # X search URL for the trend.
91
+ sig { returns(T.nilable(String)) }
92
+ attr_reader :url
93
+
94
+ sig { params(url: String).void }
95
+ attr_writer :url
96
+
82
97
  sig do
83
98
  params(
84
99
  name: String,
85
100
  description: String,
101
+ promoted_content: T.nilable(String),
86
102
  query: String,
87
- rank: Integer
103
+ rank: Integer,
104
+ tweet_volume: T.nilable(Integer),
105
+ url: String
88
106
  ).returns(T.attached_class)
89
107
  end
90
- def self.new(name:, description: nil, query: nil, rank: nil)
108
+ def self.new(
109
+ name:,
110
+ description: nil,
111
+ # Promotion identifier from X. Null for organic trends.
112
+ promoted_content: nil,
113
+ query: nil,
114
+ rank: nil,
115
+ # Approximate public post volume when X supplies it.
116
+ tweet_volume: nil,
117
+ # X search URL for the trend.
118
+ url: nil
119
+ )
91
120
  end
92
121
 
93
122
  sig do
94
123
  override.returns(
95
- { name: String, description: String, query: String, rank: Integer }
124
+ {
125
+ name: String,
126
+ description: String,
127
+ promoted_content: T.nilable(String),
128
+ query: String,
129
+ rank: Integer,
130
+ tweet_volume: T.nilable(Integer),
131
+ url: String
132
+ }
96
133
  )
97
134
  end
98
135
  def to_hash