kreuzcrawl 0.3.0.pre.rc.43 → 0.3.0.pre.rc.50

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 26b349c9879f4dbbf63ac4a65c34d5546c846203cfb97825d4040eeb9202d62d
4
- data.tar.gz: 8aa9682613741bfa3a787435901a5a32b5a5a89b9b760d2f720af65dd4ff6b20
3
+ metadata.gz: 2213fa1c83d734c7ad5e7fb41a87d910654b54de2623485ded5ef78e0af04b61
4
+ data.tar.gz: 1254c10de4a176e4548db7a246463fcdadf836a4521db41e64ff44f59b75cd0c
5
5
  SHA512:
6
- metadata.gz: 8d623f74a48c685b0414f6ce43cf82f937f8ffd37a2f606cd8ffbbdba410e401078e6191ad4813bd59e7265321a0df7f2991146eae847b80d9164703444dcf8b
7
- data.tar.gz: 7543119c313782eff3ab9f8942f95f818e9bc27cea1eb0ad8e7ce9b0a6ed6a8e290a1043d804acdd9e85d45e4c314c8d395f46614181e59a1adf471c091e028c
6
+ metadata.gz: 7929332edca6661be7a3b575db2e524f2d3ebafe2ad0a70f1f5113dc5f1696b41fd574f49acca26ae12fb80b19b9a039e4ddaa6a34fc9529ee633b8d0d9e59ca
7
+ data.tar.gz: ad173c414b49aad8fd64a8e5de62e1e8ea09178e4eaa91c288fc48f83055e00c7f4300f2518a44a8f382a33a93c644b3fb3d53b6eccde72b45c64d8087b99eee
@@ -1469,7 +1469,7 @@ dependencies = [
1469
1469
 
1470
1470
  [[package]]
1471
1471
  name = "kreuzcrawl"
1472
- version = "0.3.0-rc.43"
1472
+ version = "0.3.0-rc.50"
1473
1473
  dependencies = [
1474
1474
  "ahash",
1475
1475
  "aho-corasick",
@@ -1506,7 +1506,7 @@ dependencies = [
1506
1506
 
1507
1507
  [[package]]
1508
1508
  name = "kreuzcrawl-rb"
1509
- version = "0.3.0-rc.43"
1509
+ version = "0.3.0-rc.50"
1510
1510
  dependencies = [
1511
1511
  "futures",
1512
1512
  "kreuzcrawl",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "kreuzcrawl-rb"
3
- version = "0.3.0-rc.43"
3
+ version = "0.3.0-rc.50"
4
4
  edition = "2024"
5
5
  license = "Elastic-2.0"
6
6
  description = "High-performance web crawling engine"
@@ -18,7 +18,7 @@ crate-type = ["cdylib"]
18
18
 
19
19
  [dependencies]
20
20
  futures = "0.3"
21
- kreuzcrawl = { version = "0.3.0-rc.43", path = "../../../../../crates/kreuzcrawl", features = ["interact", "browser-chromiumoxide"] }
21
+ kreuzcrawl = { version = "0.3.0-rc.50", path = "../../../../../crates/kreuzcrawl", features = ["interact", "browser-chromiumoxide"] }
22
22
  magnus = "0.8"
23
23
  rb-sys = ">=0.9, <0.9.128"
24
24
  serde = { version = "1", features = ["derive"] }
@@ -7,5 +7,8 @@ default_profile = ENV.fetch("CARGO_PROFILE", "release")
7
7
 
8
8
  create_rust_makefile("kreuzcrawl_rb") do |config|
9
9
  config.profile = default_profile.to_sym
10
- config.ext_dir = "native"
10
+ # extconf.rb and Cargo.toml are siblings under ext/kreuzcrawl_rb/native/; rb_sys interprets
11
+ # ext_dir relative to extconf.rb, so "." finds the sibling Cargo.toml. "native" would
12
+ # resolve to native/native/Cargo.toml and break `gem install` on end-user machines.
13
+ config.ext_dir = "."
11
14
  end
@@ -1,5 +1,5 @@
1
1
  // This file is auto-generated by alef. DO NOT EDIT.
2
- // alef:hash:7b9c93728a9ad6929902470aae4101dc3ceb9f7790425e064878ef114f164df6
2
+ // alef:hash:e0b048907e4acd1bff8132ca9fab8a2ec941d36e30e70ac1f6ce3cd337219c92
3
3
  // Re-generate with: alef generate
4
4
  #![allow(dead_code, unused_imports, unused_variables)]
5
5
  #![allow(
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:7b9c93728a9ad6929902470aae4101dc3ceb9f7790425e064878ef114f164df6
2
+ # alef:hash:e0b048907e4acd1bff8132ca9fab8a2ec941d36e30e70ac1f6ce3cd337219c92
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
@@ -29,8 +29,7 @@ module Kreuzcrawl
29
29
  end
30
30
  end
31
31
  end
32
-
33
- # HTTP Basic authentication.
32
+ ## HTTP Basic authentication.
34
33
  AuthConfigBasic = Data.define(:username, :password) do
35
34
  include AuthConfig
36
35
  extend T::Sig
@@ -38,20 +37,15 @@ module Kreuzcrawl
38
37
  # Username sent in the `Authorization: Basic` header.
39
38
  sig { returns(String) }
40
39
  def username = super # rubocop:disable Lint/UselessMethodDefinition
41
-
42
40
  # Password sent in the `Authorization: Basic` header.
43
41
  sig { returns(String) }
44
42
  def password = super # rubocop:disable Lint/UselessMethodDefinition
45
-
46
43
  sig { returns(T::Boolean) }
47
44
  def basic? = true
48
-
49
45
  sig { returns(T::Boolean) }
50
46
  def bearer? = false
51
-
52
47
  sig { returns(T::Boolean) }
53
48
  def header? = false
54
-
55
49
  # @param hash [Hash] deserialized from the native extension
56
50
  # @return [self]
57
51
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -59,8 +53,7 @@ module Kreuzcrawl
59
53
  new(username: hash[:username] || hash["username"], password: hash[:password] || hash["password"])
60
54
  end
61
55
  end
62
-
63
- # Bearer token authentication.
56
+ ## Bearer token authentication.
64
57
  AuthConfigBearer = Data.define(:token) do
65
58
  include AuthConfig
66
59
  extend T::Sig
@@ -68,16 +61,12 @@ module Kreuzcrawl
68
61
  # Token sent in the `Authorization: Bearer` header.
69
62
  sig { returns(String) }
70
63
  def token = super # rubocop:disable Lint/UselessMethodDefinition
71
-
72
64
  sig { returns(T::Boolean) }
73
65
  def basic? = false
74
-
75
66
  sig { returns(T::Boolean) }
76
67
  def bearer? = true
77
-
78
68
  sig { returns(T::Boolean) }
79
69
  def header? = false
80
-
81
70
  # @param hash [Hash] deserialized from the native extension
82
71
  # @return [self]
83
72
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -85,8 +74,7 @@ module Kreuzcrawl
85
74
  new(token: hash[:token] || hash["token"])
86
75
  end
87
76
  end
88
-
89
- # Custom authentication header.
77
+ ## Custom authentication header.
90
78
  AuthConfigHeader = Data.define(:name, :value) do
91
79
  include AuthConfig
92
80
  extend T::Sig
@@ -94,20 +82,15 @@ module Kreuzcrawl
94
82
  # HTTP header name to set on each request.
95
83
  sig { returns(String) }
96
84
  def name = super # rubocop:disable Lint/UselessMethodDefinition
97
-
98
85
  # HTTP header value to send.
99
86
  sig { returns(String) }
100
87
  def value = super # rubocop:disable Lint/UselessMethodDefinition
101
-
102
88
  sig { returns(T::Boolean) }
103
89
  def basic? = false
104
-
105
90
  sig { returns(T::Boolean) }
106
91
  def bearer? = false
107
-
108
92
  sig { returns(T::Boolean) }
109
93
  def header? = true
110
-
111
94
  # @param hash [Hash] deserialized from the native extension
112
95
  # @return [self]
113
96
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -147,8 +130,7 @@ module Kreuzcrawl
147
130
  end
148
131
  end
149
132
  end
150
-
151
- # A single page has been crawled.
133
+ ## A single page has been crawled.
152
134
  CrawlEventPage = Data.define(:result) do
153
135
  include CrawlEvent
154
136
  extend T::Sig
@@ -156,16 +138,12 @@ module Kreuzcrawl
156
138
  # The crawled page result.
157
139
  sig { returns(CrawlPageResult) }
158
140
  def result = super # rubocop:disable Lint/UselessMethodDefinition
159
-
160
141
  sig { returns(T::Boolean) }
161
142
  def page? = true
162
-
163
143
  sig { returns(T::Boolean) }
164
144
  def error? = false
165
-
166
145
  sig { returns(T::Boolean) }
167
146
  def complete? = false
168
-
169
147
  # @param hash [Hash] deserialized from the native extension
170
148
  # @return [self]
171
149
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -173,8 +151,7 @@ module Kreuzcrawl
173
151
  new(result: hash[:result] || hash["result"])
174
152
  end
175
153
  end
176
-
177
- # An error occurred while crawling a URL.
154
+ ## An error occurred while crawling a URL.
178
155
  CrawlEventError = Data.define(:url, :error) do
179
156
  include CrawlEvent
180
157
  extend T::Sig
@@ -182,20 +159,15 @@ module Kreuzcrawl
182
159
  # The URL that failed.
183
160
  sig { returns(String) }
184
161
  def url = super # rubocop:disable Lint/UselessMethodDefinition
185
-
186
162
  # The error message.
187
163
  sig { returns(String) }
188
164
  def error = super # rubocop:disable Lint/UselessMethodDefinition
189
-
190
165
  sig { returns(T::Boolean) }
191
166
  def page? = false
192
-
193
167
  sig { returns(T::Boolean) }
194
168
  def error? = true
195
-
196
169
  sig { returns(T::Boolean) }
197
170
  def complete? = false
198
-
199
171
  # @param hash [Hash] deserialized from the native extension
200
172
  # @return [self]
201
173
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -203,8 +175,7 @@ module Kreuzcrawl
203
175
  new(url: hash[:url] || hash["url"], error: hash[:error] || hash["error"])
204
176
  end
205
177
  end
206
-
207
- # The crawl has completed.
178
+ ## The crawl has completed.
208
179
  CrawlEventComplete = Data.define(:pages_crawled) do
209
180
  include CrawlEvent
210
181
  extend T::Sig
@@ -212,16 +183,12 @@ module Kreuzcrawl
212
183
  # Total number of pages crawled.
213
184
  sig { returns(Integer) }
214
185
  def pages_crawled = super # rubocop:disable Lint/UselessMethodDefinition
215
-
216
186
  sig { returns(T::Boolean) }
217
187
  def page? = false
218
-
219
188
  sig { returns(T::Boolean) }
220
189
  def error? = false
221
-
222
190
  sig { returns(T::Boolean) }
223
191
  def complete? = true
224
-
225
192
  # @param hash [Hash] deserialized from the native extension
226
193
  # @return [self]
227
194
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -261,8 +228,7 @@ module Kreuzcrawl
261
228
  end
262
229
  end
263
230
  end
264
-
265
- # Click on an element matching the given CSS selector.
231
+ ## Click on an element matching the given CSS selector.
266
232
  PageActionClick = Data.define(:selector) do
267
233
  include PageAction
268
234
  extend T::Sig
@@ -270,31 +236,22 @@ module Kreuzcrawl
270
236
  # CSS selector for the element to click.
271
237
  sig { returns(String) }
272
238
  def selector = super # rubocop:disable Lint/UselessMethodDefinition
273
-
274
239
  sig { returns(T::Boolean) }
275
240
  def click? = true
276
-
277
241
  sig { returns(T::Boolean) }
278
242
  def type_text? = false
279
-
280
243
  sig { returns(T::Boolean) }
281
244
  def press? = false
282
-
283
245
  sig { returns(T::Boolean) }
284
246
  def scroll? = false
285
-
286
247
  sig { returns(T::Boolean) }
287
248
  def wait? = false
288
-
289
249
  sig { returns(T::Boolean) }
290
250
  def screenshot? = false
291
-
292
251
  sig { returns(T::Boolean) }
293
252
  def execute_js? = false
294
-
295
253
  sig { returns(T::Boolean) }
296
254
  def scrape? = false
297
-
298
255
  # @param hash [Hash] deserialized from the native extension
299
256
  # @return [self]
300
257
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -302,8 +259,7 @@ module Kreuzcrawl
302
259
  new(selector: hash[:selector] || hash["selector"])
303
260
  end
304
261
  end
305
-
306
- # Type text into an element matching the given CSS selector.
262
+ ## Type text into an element matching the given CSS selector.
307
263
  PageActionTypeText = Data.define(:selector, :text) do
308
264
  include PageAction
309
265
  extend T::Sig
@@ -311,35 +267,25 @@ module Kreuzcrawl
311
267
  # CSS selector for the input element.
312
268
  sig { returns(String) }
313
269
  def selector = super # rubocop:disable Lint/UselessMethodDefinition
314
-
315
270
  # Text to type into the element.
316
271
  sig { returns(String) }
317
272
  def text = super # rubocop:disable Lint/UselessMethodDefinition
318
-
319
273
  sig { returns(T::Boolean) }
320
274
  def click? = false
321
-
322
275
  sig { returns(T::Boolean) }
323
276
  def type_text? = true
324
-
325
277
  sig { returns(T::Boolean) }
326
278
  def press? = false
327
-
328
279
  sig { returns(T::Boolean) }
329
280
  def scroll? = false
330
-
331
281
  sig { returns(T::Boolean) }
332
282
  def wait? = false
333
-
334
283
  sig { returns(T::Boolean) }
335
284
  def screenshot? = false
336
-
337
285
  sig { returns(T::Boolean) }
338
286
  def execute_js? = false
339
-
340
287
  sig { returns(T::Boolean) }
341
288
  def scrape? = false
342
-
343
289
  # @param hash [Hash] deserialized from the native extension
344
290
  # @return [self]
345
291
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -347,8 +293,7 @@ module Kreuzcrawl
347
293
  new(selector: hash[:selector] || hash["selector"], text: hash[:text] || hash["text"])
348
294
  end
349
295
  end
350
-
351
- # Press a keyboard key (e.g. "Enter", "Tab", "Escape").
296
+ ## Press a keyboard key (e.g. "Enter", "Tab", "Escape").
352
297
  PageActionPress = Data.define(:key) do
353
298
  include PageAction
354
299
  extend T::Sig
@@ -356,31 +301,22 @@ module Kreuzcrawl
356
301
  # Key name to press.
357
302
  sig { returns(String) }
358
303
  def key = super # rubocop:disable Lint/UselessMethodDefinition
359
-
360
304
  sig { returns(T::Boolean) }
361
305
  def click? = false
362
-
363
306
  sig { returns(T::Boolean) }
364
307
  def type_text? = false
365
-
366
308
  sig { returns(T::Boolean) }
367
309
  def press? = true
368
-
369
310
  sig { returns(T::Boolean) }
370
311
  def scroll? = false
371
-
372
312
  sig { returns(T::Boolean) }
373
313
  def wait? = false
374
-
375
314
  sig { returns(T::Boolean) }
376
315
  def screenshot? = false
377
-
378
316
  sig { returns(T::Boolean) }
379
317
  def execute_js? = false
380
-
381
318
  sig { returns(T::Boolean) }
382
319
  def scrape? = false
383
-
384
320
  # @param hash [Hash] deserialized from the native extension
385
321
  # @return [self]
386
322
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -388,8 +324,7 @@ module Kreuzcrawl
388
324
  new(key: hash[:key] || hash["key"])
389
325
  end
390
326
  end
391
-
392
- # Scroll the page or a specific element.
327
+ ## Scroll the page or a specific element.
393
328
  PageActionScroll = Data.define(:direction, :selector, :amount) do
394
329
  include PageAction
395
330
  extend T::Sig
@@ -397,39 +332,28 @@ module Kreuzcrawl
397
332
  # Direction to scroll.
398
333
  sig { returns(ScrollDirection) }
399
334
  def direction = super # rubocop:disable Lint/UselessMethodDefinition
400
-
401
335
  # Optional CSS selector for a scrollable element. Scrolls the page if absent.
402
336
  sig { returns(T.nilable(String)) }
403
337
  def selector = super # rubocop:disable Lint/UselessMethodDefinition
404
-
405
338
  # Optional pixel amount to scroll. Uses a default if absent.
406
339
  sig { returns(T.nilable(Integer)) }
407
340
  def amount = super # rubocop:disable Lint/UselessMethodDefinition
408
-
409
341
  sig { returns(T::Boolean) }
410
342
  def click? = false
411
-
412
343
  sig { returns(T::Boolean) }
413
344
  def type_text? = false
414
-
415
345
  sig { returns(T::Boolean) }
416
346
  def press? = false
417
-
418
347
  sig { returns(T::Boolean) }
419
348
  def scroll? = true
420
-
421
349
  sig { returns(T::Boolean) }
422
350
  def wait? = false
423
-
424
351
  sig { returns(T::Boolean) }
425
352
  def screenshot? = false
426
-
427
353
  sig { returns(T::Boolean) }
428
354
  def execute_js? = false
429
-
430
355
  sig { returns(T::Boolean) }
431
356
  def scrape? = false
432
-
433
357
  # @param hash [Hash] deserialized from the native extension
434
358
  # @return [self]
435
359
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -437,8 +361,7 @@ module Kreuzcrawl
437
361
  new(direction: hash[:direction] || hash["direction"], selector: hash[:selector] || hash["selector"], amount: hash[:amount] || hash["amount"])
438
362
  end
439
363
  end
440
-
441
- # Wait for a duration or for an element to appear.
364
+ ## Wait for a duration or for an element to appear.
442
365
  PageActionWait = Data.define(:milliseconds, :selector) do
443
366
  include PageAction
444
367
  extend T::Sig
@@ -446,35 +369,25 @@ module Kreuzcrawl
446
369
  # Milliseconds to wait. Ignored if `selector` is provided.
447
370
  sig { returns(T.nilable(Integer)) }
448
371
  def milliseconds = super # rubocop:disable Lint/UselessMethodDefinition
449
-
450
372
  # CSS selector to wait for.
451
373
  sig { returns(T.nilable(String)) }
452
374
  def selector = super # rubocop:disable Lint/UselessMethodDefinition
453
-
454
375
  sig { returns(T::Boolean) }
455
376
  def click? = false
456
-
457
377
  sig { returns(T::Boolean) }
458
378
  def type_text? = false
459
-
460
379
  sig { returns(T::Boolean) }
461
380
  def press? = false
462
-
463
381
  sig { returns(T::Boolean) }
464
382
  def scroll? = false
465
-
466
383
  sig { returns(T::Boolean) }
467
384
  def wait? = true
468
-
469
385
  sig { returns(T::Boolean) }
470
386
  def screenshot? = false
471
-
472
387
  sig { returns(T::Boolean) }
473
388
  def execute_js? = false
474
-
475
389
  sig { returns(T::Boolean) }
476
390
  def scrape? = false
477
-
478
391
  # @param hash [Hash] deserialized from the native extension
479
392
  # @return [self]
480
393
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -482,8 +395,7 @@ module Kreuzcrawl
482
395
  new(milliseconds: hash[:milliseconds] || hash["milliseconds"], selector: hash[:selector] || hash["selector"])
483
396
  end
484
397
  end
485
-
486
- # Take a screenshot of the current page.
398
+ ## Take a screenshot of the current page.
487
399
  PageActionScreenshot = Data.define(:full_page) do
488
400
  include PageAction
489
401
  extend T::Sig
@@ -495,31 +407,22 @@ module Kreuzcrawl
495
407
  # use either convention without error.
496
408
  sig { returns(T.nilable(T::Boolean)) }
497
409
  def full_page = super # rubocop:disable Lint/UselessMethodDefinition
498
-
499
410
  sig { returns(T::Boolean) }
500
411
  def click? = false
501
-
502
412
  sig { returns(T::Boolean) }
503
413
  def type_text? = false
504
-
505
414
  sig { returns(T::Boolean) }
506
415
  def press? = false
507
-
508
416
  sig { returns(T::Boolean) }
509
417
  def scroll? = false
510
-
511
418
  sig { returns(T::Boolean) }
512
419
  def wait? = false
513
-
514
420
  sig { returns(T::Boolean) }
515
421
  def screenshot? = true
516
-
517
422
  sig { returns(T::Boolean) }
518
423
  def execute_js? = false
519
-
520
424
  sig { returns(T::Boolean) }
521
425
  def scrape? = false
522
-
523
426
  # @param hash [Hash] deserialized from the native extension
524
427
  # @return [self]
525
428
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -527,13 +430,12 @@ module Kreuzcrawl
527
430
  new(full_page: hash[:full_page] || hash["full_page"])
528
431
  end
529
432
  end
530
-
531
- # Execute arbitrary JavaScript in the page context.
532
- #
533
- # # Safety
534
- #
535
- # The script runs with full page privileges in the browser context.
536
- # Only execute scripts from trusted sources.
433
+ ## Execute arbitrary JavaScript in the page context.
434
+ ##
435
+ ## # Safety
436
+ ##
437
+ ## The script runs with full page privileges in the browser context.
438
+ ## Only execute scripts from trusted sources.
537
439
  PageActionExecuteJs = Data.define(:script) do
538
440
  include PageAction
539
441
  extend T::Sig
@@ -541,31 +443,22 @@ module Kreuzcrawl
541
443
  # JavaScript source code to execute. Max 1 MB.
542
444
  sig { returns(String) }
543
445
  def script = super # rubocop:disable Lint/UselessMethodDefinition
544
-
545
446
  sig { returns(T::Boolean) }
546
447
  def click? = false
547
-
548
448
  sig { returns(T::Boolean) }
549
449
  def type_text? = false
550
-
551
450
  sig { returns(T::Boolean) }
552
451
  def press? = false
553
-
554
452
  sig { returns(T::Boolean) }
555
453
  def scroll? = false
556
-
557
454
  sig { returns(T::Boolean) }
558
455
  def wait? = false
559
-
560
456
  sig { returns(T::Boolean) }
561
457
  def screenshot? = false
562
-
563
458
  sig { returns(T::Boolean) }
564
459
  def execute_js? = true
565
-
566
460
  sig { returns(T::Boolean) }
567
461
  def scrape? = false
568
-
569
462
  # @param hash [Hash] deserialized from the native extension
570
463
  # @return [self]
571
464
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -573,36 +466,27 @@ module Kreuzcrawl
573
466
  new(script: hash[:script] || hash["script"])
574
467
  end
575
468
  end
576
-
577
- # Scrape the current page HTML.
469
+ ## Scrape the current page HTML.
578
470
  PageActionScrape = Data.define do
579
471
  include PageAction
580
472
  extend T::Sig
581
473
 
582
474
  sig { returns(T::Boolean) }
583
475
  def click? = false
584
-
585
476
  sig { returns(T::Boolean) }
586
477
  def type_text? = false
587
-
588
478
  sig { returns(T::Boolean) }
589
479
  def press? = false
590
-
591
480
  sig { returns(T::Boolean) }
592
481
  def scroll? = false
593
-
594
482
  sig { returns(T::Boolean) }
595
483
  def wait? = false
596
-
597
484
  sig { returns(T::Boolean) }
598
485
  def screenshot? = false
599
-
600
486
  sig { returns(T::Boolean) }
601
487
  def execute_js? = false
602
-
603
488
  sig { returns(T::Boolean) }
604
489
  def scrape? = true
605
-
606
490
  # @param hash [Hash] deserialized from the native extension
607
491
  # @return [self]
608
492
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -1,9 +1,10 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:7b9c93728a9ad6929902470aae4101dc3ceb9f7790425e064878ef114f164df6
2
+ # alef:hash:e0b048907e4acd1bff8132ca9fab8a2ec941d36e30e70ac1f6ce3cd337219c92
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module Kreuzcrawl
8
- VERSION = "0.3.0.pre.rc.43"
8
+ ## The version string for this package.
9
+ VERSION = "0.3.0.pre.rc.50"
9
10
  end
data/lib/kreuzcrawl.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:7b9c93728a9ad6929902470aae4101dc3ceb9f7790425e064878ef114f164df6
2
+ # alef:hash:e0b048907e4acd1bff8132ca9fab8a2ec941d36e30e70ac1f6ce3cd337219c92
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
@@ -7,6 +7,12 @@
7
7
  require_relative "kreuzcrawl/version"
8
8
  require_relative "kreuzcrawl/native"
9
9
 
10
+ # Top-level namespace for the Kreuzcrawl Ruby binding.
11
+ #
12
+ # All type and function symbols are re-exported from the native extension
13
+ # loaded via `require_relative "kreuzcrawl/native"`. See
14
+ # {file:README.md} for usage examples and the upstream documentation
15
+ # for the full API reference.
10
16
  module Kreuzcrawl
11
17
  # Re-export all types and functions from native extension
12
18
  end
data/lib/kreuzcrawl_rb.so CHANGED
Binary file
data/sig/types.rbs CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:7b9c93728a9ad6929902470aae4101dc3ceb9f7790425e064878ef114f164df6
2
+ # alef:hash:e0b048907e4acd1bff8132ca9fab8a2ec941d36e30e70ac1f6ce3cd337219c92
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kreuzcrawl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.pre.rc.43
4
+ version: 0.3.0.pre.rc.50
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kreuzberg Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-05 00:00:00.000000000 Z
11
+ date: 2026-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys