Class: XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic
- Inherits:
-
Internal::Type::BaseModel
- Object
- Internal::Type::BaseModel
- XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic
- Defined in:
- lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb,
sig/x_twitter_scraper/models/x/tweet_get_replies_response.rbs
Defined Under Namespace
Classes: Richness, StrategiesAttempted
Instance Attribute Summary collapse
-
#complete ⇒ Boolean
Whether coverage met the target without truncation.
-
#coverage_percentage ⇒ Float
Unique direct replies as a percentage of the reported count.
-
#cursor_failures ⇒ Integer
Cursor requests that failed.
-
#duplicate_count ⇒ Integer
Duplicate tweet IDs removed across pages and strategies.
-
#empty_false_progress_pages ⇒ Integer
Empty pages rejected because they did not make progress.
-
#malformed_count ⇒ Integer
Malformed response items rejected.
-
#missing_response_modules_or_fields ⇒ Array<String>
Expected response modules or fields missing from X.
-
#nested_reply_count ⇒ Integer
Unique nested replies kept outside direct coverage.
-
#pages_attempted ⇒ Integer
Total pages attempted across all strategies.
-
#recommended_fallback ⇒ String
Recommended next action when coverage is incomplete.
-
#repeated_cursor_count ⇒ Integer
Repeated cursors rejected to prevent loops.
-
#reported_reply_count ⇒ Integer
Reply count reported on the source post.
-
#response_truncated ⇒ Boolean
Whether the requested row limit truncated safe results.
-
#richness ⇒ XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::Richness
Field-presence counts across the collected direct replies.
-
#strategies_attempted ⇒ Array<XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted>
Per-strategy pagination and contribution evidence.
-
#target_direct_replies ⇒ Integer
Minimum direct replies required for the coverage target.
-
#unique_direct_replies ⇒ Integer
Unique replies whose parent ID equals the source post ID.
-
#unrelated_count ⇒ Integer
Tweets rejected because they belonged elsewhere.
Instance Method Summary collapse
-
#initialize(article:, author:, card:, community_note:, created_at:, engagement_counts:, entities:, language:, media:, quoted_or_reposted_tweet:, text:, total_replies:, url:) ⇒ Object
constructor
Field-presence counts across the collected direct replies.
- #to_hash ⇒ {
Methods inherited from Internal::Type::BaseModel
==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml
Methods included from Internal::Type::Converter
#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info
Methods included from Internal::Util::SorbetRuntimeSupport
#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type
Constructor Details
#initialize(article:, author:, card:, community_note:, created_at:, engagement_counts:, entities:, language:, media:, quoted_or_reposted_tweet:, text:, total_replies:, url:) ⇒ Object
Field-presence counts across the collected direct replies.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 28 class Diagnostic < XTwitterScraper::Internal::Type::BaseModel # @!attribute complete # Whether coverage met the target without truncation. # # @return [Boolean] required :complete, XTwitterScraper::Internal::Type::Boolean # @!attribute coverage_percentage # Unique direct replies as a percentage of the reported count. # # @return [Float] required :coverage_percentage, Float, api_name: :coveragePercentage # @!attribute cursor_failures # Cursor requests that failed. # # @return [Integer] required :cursor_failures, Integer, api_name: :cursorFailures # @!attribute duplicate_count # Duplicate tweet IDs removed across pages and strategies. # # @return [Integer] required :duplicate_count, Integer, api_name: :duplicateCount # @!attribute empty_false_progress_pages # Empty pages rejected because they did not make progress. # # @return [Integer] required :empty_false_progress_pages, Integer, api_name: :emptyFalseProgressPages # @!attribute malformed_count # Malformed response items rejected. # # @return [Integer] required :malformed_count, Integer, api_name: :malformedCount # @!attribute missing_response_modules_or_fields # Expected response modules or fields missing from X. # # @return [Array<String>] required :missing_response_modules_or_fields, XTwitterScraper::Internal::Type::ArrayOf[String], api_name: :missingResponseModulesOrFields # @!attribute nested_reply_count # Unique nested replies kept outside direct coverage. # # @return [Integer] required :nested_reply_count, Integer, api_name: :nestedReplyCount # @!attribute pages_attempted # Total pages attempted across all strategies. # # @return [Integer] required :pages_attempted, Integer, api_name: :pagesAttempted # @!attribute recommended_fallback # Recommended next action when coverage is incomplete. # # @return [String] required :recommended_fallback, String, api_name: :recommendedFallback # @!attribute repeated_cursor_count # Repeated cursors rejected to prevent loops. # # @return [Integer] required :repeated_cursor_count, Integer, api_name: :repeatedCursorCount # @!attribute reported_reply_count # Reply count reported on the source post. # # @return [Integer] required :reported_reply_count, Integer, api_name: :reportedReplyCount # @!attribute response_truncated # Whether the requested row limit truncated safe results. # # @return [Boolean] required :response_truncated, XTwitterScraper::Internal::Type::Boolean, api_name: :responseTruncated # @!attribute richness # Field-presence counts across the collected direct replies. # # @return [XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::Richness] required :richness, -> { XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::Richness } # @!attribute strategies_attempted # Per-strategy pagination and contribution evidence. # # @return [Array<XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted>] required :strategies_attempted, -> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted] }, api_name: :strategiesAttempted # @!attribute target_direct_replies # Minimum direct replies required for the coverage target. # # @return [Integer] required :target_direct_replies, Integer, api_name: :targetDirectReplies # @!attribute unique_direct_replies # Unique replies whose parent ID equals the source post ID. # # @return [Integer] required :unique_direct_replies, Integer, api_name: :uniqueDirectReplies # @!attribute unrelated_count # Tweets rejected because they belonged elsewhere. # # @return [Integer] required :unrelated_count, Integer, api_name: :unrelatedCount # @!method initialize(complete:, coverage_percentage:, cursor_failures:, duplicate_count:, empty_false_progress_pages:, malformed_count:, missing_response_modules_or_fields:, nested_reply_count:, pages_attempted:, recommended_fallback:, repeated_cursor_count:, reported_reply_count:, response_truncated:, richness:, strategies_attempted:, target_direct_replies:, unique_direct_replies:, unrelated_count:) # Evidence for direct-reply coverage and collector behavior. # # @param complete [Boolean] Whether coverage met the target without truncation. # # @param coverage_percentage [Float] Unique direct replies as a percentage of the reported count. # # @param cursor_failures [Integer] Cursor requests that failed. # # @param duplicate_count [Integer] Duplicate tweet IDs removed across pages and strategies. # # @param empty_false_progress_pages [Integer] Empty pages rejected because they did not make progress. # # @param malformed_count [Integer] Malformed response items rejected. # # @param missing_response_modules_or_fields [Array<String>] Expected response modules or fields missing from X. # # @param nested_reply_count [Integer] Unique nested replies kept outside direct coverage. # # @param pages_attempted [Integer] Total pages attempted across all strategies. # # @param recommended_fallback [String] Recommended next action when coverage is incomplete. # # @param repeated_cursor_count [Integer] Repeated cursors rejected to prevent loops. # # @param reported_reply_count [Integer] Reply count reported on the source post. # # @param response_truncated [Boolean] Whether the requested row limit truncated safe results. # # @param richness [XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::Richness] Field-presence counts across the collected direct replies. # # @param strategies_attempted [Array<XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted>] Per-strategy pagination and contribution evidence. # # @param target_direct_replies [Integer] Minimum direct replies required for the coverage target. # # @param unique_direct_replies [Integer] Unique replies whose parent ID equals the source post ID. # # @param unrelated_count [Integer] Tweets rejected because they belonged elsewhere. # @see XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic#richness class Richness < XTwitterScraper::Internal::Type::BaseModel # @!attribute article # Replies with article content. # # @return [Integer] required :article, Integer # @!attribute author # Replies with author details. # # @return [Integer] required :author, Integer # @!attribute card # Replies with card metadata. # # @return [Integer] required :card, Integer # @!attribute community_note # Replies with community-note data. # # @return [Integer] required :community_note, Integer, api_name: :communityNote # @!attribute created_at # Replies with a creation timestamp. # # @return [Integer] required :created_at, Integer, api_name: :createdAt # @!attribute engagement_counts # Replies with engagement counts. # # @return [Integer] required :engagement_counts, Integer, api_name: :engagementCounts # @!attribute entities # Replies with entity metadata. # # @return [Integer] required :entities, Integer # @!attribute language # Replies with a language value. # # @return [Integer] required :language, Integer # @!attribute media # Replies with media metadata. # # @return [Integer] required :media, Integer # @!attribute quoted_or_reposted_tweet # Replies with quoted or reposted tweet data. # # @return [Integer] required :quoted_or_reposted_tweet, Integer, api_name: :quotedOrRepostedTweet # @!attribute text # Replies with text. # # @return [Integer] required :text, Integer # @!attribute total_replies # Total unique direct replies evaluated for richness. # # @return [Integer] required :total_replies, Integer, api_name: :totalReplies # @!attribute url # Replies with a canonical URL. # # @return [Integer] required :url, Integer # @!method initialize(article:, author:, card:, community_note:, created_at:, engagement_counts:, entities:, language:, media:, quoted_or_reposted_tweet:, text:, total_replies:, url:) # Field-presence counts across the collected direct replies. # # @param article [Integer] Replies with article content. # # @param author [Integer] Replies with author details. # # @param card [Integer] Replies with card metadata. # # @param community_note [Integer] Replies with community-note data. # # @param created_at [Integer] Replies with a creation timestamp. # # @param engagement_counts [Integer] Replies with engagement counts. # # @param entities [Integer] Replies with entity metadata. # # @param language [Integer] Replies with a language value. # # @param media [Integer] Replies with media metadata. # # @param quoted_or_reposted_tweet [Integer] Replies with quoted or reposted tweet data. # # @param text [Integer] Replies with text. # # @param total_replies [Integer] Total unique direct replies evaluated for richness. # # @param url [Integer] Replies with a canonical URL. end class StrategiesAttempted < XTwitterScraper::Internal::Type::BaseModel # @!attribute name # # @return [String] required :name, String # @!attribute new_direct_replies # # @return [Integer] required :new_direct_replies, Integer, api_name: :newDirectReplies # @!attribute new_nested_replies # # @return [Integer] required :new_nested_replies, Integer, api_name: :newNestedReplies # @!attribute pages_attempted # # @return [Integer] required :pages_attempted, Integer, api_name: :pagesAttempted # @!attribute stop_reason # # @return [Symbol, XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted::StopReason] required :stop_reason, enum: -> { XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted::StopReason }, api_name: :stopReason # @!method initialize(name:, new_direct_replies:, new_nested_replies:, pages_attempted:, stop_reason:) # @param name [String] # @param new_direct_replies [Integer] # @param new_nested_replies [Integer] # @param pages_attempted [Integer] # @param stop_reason [Symbol, XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted::StopReason] # @see XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted#stop_reason module StopReason extend XTwitterScraper::Internal::Type::Enum DEADLINE = :deadline EMPTY_PAGES = :empty_pages ERROR = :error MISSING_CURSOR = :missing_cursor NO_NEXT_PAGE = :no_next_page PAGE_CAP = :page_cap REPEATED_CURSOR = :repeated_cursor # @!method self.values # @return [Array<Symbol>] end end end |
Instance Attribute Details
#complete ⇒ Boolean
Whether coverage met the target without truncation.
33 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 33 required :complete, XTwitterScraper::Internal::Type::Boolean |
#coverage_percentage ⇒ Float
Unique direct replies as a percentage of the reported count.
39 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 39 required :coverage_percentage, Float, api_name: :coveragePercentage |
#cursor_failures ⇒ Integer
Cursor requests that failed.
45 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 45 required :cursor_failures, Integer, api_name: :cursorFailures |
#duplicate_count ⇒ Integer
Duplicate tweet IDs removed across pages and strategies.
51 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 51 required :duplicate_count, Integer, api_name: :duplicateCount |
#empty_false_progress_pages ⇒ Integer
Empty pages rejected because they did not make progress.
57 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 57 required :empty_false_progress_pages, Integer, api_name: :emptyFalseProgressPages |
#malformed_count ⇒ Integer
Malformed response items rejected.
63 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 63 required :malformed_count, Integer, api_name: :malformedCount |
#missing_response_modules_or_fields ⇒ Array<String>
Expected response modules or fields missing from X.
69 70 71 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 69 required :missing_response_modules_or_fields, XTwitterScraper::Internal::Type::ArrayOf[String], api_name: :missingResponseModulesOrFields |
#nested_reply_count ⇒ Integer
Unique nested replies kept outside direct coverage.
77 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 77 required :nested_reply_count, Integer, api_name: :nestedReplyCount |
#pages_attempted ⇒ Integer
Total pages attempted across all strategies.
83 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 83 required :pages_attempted, Integer, api_name: :pagesAttempted |
#recommended_fallback ⇒ String
Recommended next action when coverage is incomplete.
89 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 89 required :recommended_fallback, String, api_name: :recommendedFallback |
#repeated_cursor_count ⇒ Integer
Repeated cursors rejected to prevent loops.
95 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 95 required :repeated_cursor_count, Integer, api_name: :repeatedCursorCount |
#reported_reply_count ⇒ Integer
Reply count reported on the source post.
101 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 101 required :reported_reply_count, Integer, api_name: :reportedReplyCount |
#response_truncated ⇒ Boolean
Whether the requested row limit truncated safe results.
107 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 107 required :response_truncated, XTwitterScraper::Internal::Type::Boolean, api_name: :responseTruncated |
#richness ⇒ XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::Richness
Field-presence counts across the collected direct replies.
113 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 113 required :richness, -> { XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::Richness } |
#strategies_attempted ⇒ Array<XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted>
Per-strategy pagination and contribution evidence.
119 120 121 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 119 required :strategies_attempted, -> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::Models::X::TweetGetRepliesResponse::Diagnostic::StrategiesAttempted] }, api_name: :strategiesAttempted |
#target_direct_replies ⇒ Integer
Minimum direct replies required for the coverage target.
127 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 127 required :target_direct_replies, Integer, api_name: :targetDirectReplies |
#unique_direct_replies ⇒ Integer
Unique replies whose parent ID equals the source post ID.
133 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 133 required :unique_direct_replies, Integer, api_name: :uniqueDirectReplies |
#unrelated_count ⇒ Integer
Tweets rejected because they belonged elsewhere.
139 |
# File 'lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb', line 139 required :unrelated_count, Integer, api_name: :unrelatedCount |
Instance Method Details
#to_hash ⇒ {
113 |
# File 'sig/x_twitter_scraper/models/x/tweet_get_replies_response.rbs', line 113
def to_hash: -> {
|