domain_extractor 0.2.2 → 0.2.4

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: f6f2180384e306e30ec8637326069b71f28246d2a8810c0e03988a1119807078
4
- data.tar.gz: e3501479db84ab128f7792a2627b61f198b4382e2d8b4f5a5186ad553b4e22cb
3
+ metadata.gz: e27f85f19d8a816ec9323daf5007fa86316e337c6233924b36b0178b2b99d1e1
4
+ data.tar.gz: e8dd889cad29d7ecc72b93e5d62e8e4e7543c68b8b5f3886d642ec51bc6bc4dc
5
5
  SHA512:
6
- metadata.gz: 6371ebe56231d6e9e8245a1a299e1c71549bbd56d052fb876f2f5bf9e0720818b5e0e9620fba5634e008c412223bb172567cab8cb644d6289c3967dc88b8cb58
7
- data.tar.gz: 94e214bfaa032e08ffcfa40a36d1a6af9a6f09ee4a3e45d84b949dd9077a2bb26e8e56d35cea0650d83c5e9ccdd0dd07152f8f46645c6f4aeeeb68ec628252a2
6
+ metadata.gz: 35999ebc7fa0952f9d14d54bd07c214c7fef3ac92aeaa6e7f95882448abd1437a0e683afdab59db32f6f85905f0de722e82aed7adad55caa5abde2f87921ecc3
7
+ data.tar.gz: b4b989986447dd919bc797e4d103f45e9b64cd2f1116975436bdfb0a9d3972d8a5b50061c3332075b8d4d921425b0161dc36d8e07b3c1179e5c15d2bbc02bde0
data/README.md CHANGED
@@ -3,7 +3,6 @@
3
3
  [![Gem Version](https://badge.fury.io/rb/domain_extractor.svg?v=020)](https://badge.fury.io/rb/domain_extractor)
4
4
  [![CI](https://github.com/opensite-ai/domain_extractor/actions/workflows/ci.yml/badge.svg)](https://github.com/opensite-ai/domain_extractor/actions/workflows/ci.yml)
5
5
  [![Code Climate](https://codeclimate.com/github/opensite-ai/domain_extractor/badges/gpa.svg)](https://codeclimate.com/github/opensite-ai/domain_extractor)
6
- [![Code Coverage](https://qlty.sh/gh/opensite-ai/projects/domain_extractor/coverage.svg)](https://qlty.sh/gh/opensite-ai/projects/domain_extractor)
7
6
 
8
7
  A lightweight, robust Ruby library for url parsing and domain parsing with **accurate multi-part TLD support**. DomainExtractor delivers a high-throughput url parser and domain parser that excels at domain extraction tasks while staying friendly to analytics pipelines. Perfect for web scraping, analytics, url manipulation, query parameter parsing, and multi-environment domain analysis.
9
8
 
@@ -66,10 +65,6 @@ end
66
65
  result.subdomain # => 'www'
67
66
  result.domain # => 'example'
68
67
  result.host # => 'www.example.co.uk'
69
-
70
- # Opt into strict parsing when needed
71
- DomainExtractor.parse!('notaurl')
72
- # => raises DomainExtractor::InvalidURLError: Invalid URL Value
73
68
  ```
74
69
 
75
70
  ## ParsedURL API - Intuitive Method Access
@@ -177,9 +172,6 @@ DomainExtractor.parse('https://dashtrack.com').subdomain? # => false
177
172
  # Bang methods raise when a component is missing
178
173
  DomainExtractor.parse('').host! # => raises DomainExtractor::InvalidURLError
179
174
  DomainExtractor.parse('asdfasdfds').domain! # => raises DomainExtractor::InvalidURLError
180
-
181
- # Strict parsing helper mirrors legacy behaviour
182
- DomainExtractor.parse!('asdfasdfds') # => raises DomainExtractor::InvalidURLError
183
175
  ```
184
176
 
185
177
  #### Safe Batch Processing
@@ -369,7 +361,7 @@ DomainExtractor.parse_query_params(query_string)
369
361
 
370
362
  ```ruby
371
363
  urls = scrape_page_links(page)
372
- domains = urls.map { |url| DomainExtractor.parse(url)&.dig(:root_domain) }.compact.uniq
364
+ domains = urls.map { |url| DomainExtractor.parse(url).root_domain }.compact.uniq
373
365
  ```
374
366
 
375
367
  **Analytics & Tracking**
@@ -377,7 +369,7 @@ domains = urls.map { |url| DomainExtractor.parse(url)&.dig(:root_domain) }.compa
377
369
  ```ruby
378
370
  referrer = request.referrer
379
371
  parsed = DomainExtractor.parse(referrer)
380
- track_event('page_view', source_domain: parsed[:root_domain]) if parsed
372
+ track_event('page_view', source_domain: parsed[:root_domain])
381
373
  ```
382
374
 
383
375
  **Domain Validation**
@@ -386,7 +378,7 @@ track_event('page_view', source_domain: parsed[:root_domain]) if parsed
386
378
  def internal_link?(url, base_domain)
387
379
  return false unless DomainExtractor.valid?(url)
388
380
 
389
- DomainExtractor.parse(url)[:root_domain] == base_domain
381
+ DomainExtractor.parse(url).root_domain == base_domain
390
382
  end
391
383
  ```
392
384
 
@@ -414,7 +406,7 @@ View [performance analysis](https://github.com/opensite-ai/domain_extractor/blob
414
406
 
415
407
  ## Requirements
416
408
 
417
- - Ruby 3.0.0 or higher
409
+ - Ruby 3.2.0 or higher
418
410
  - public_suffix gem (~> 6.0)
419
411
 
420
412
  ## Contributing
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DomainExtractor
4
- VERSION = '0.2.2'
4
+ VERSION = '0.2.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: domain_extractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenSite AI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-11-01 00:00:00.000000000 Z
11
+ date: 2025-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: public_suffix