Skip to content

Commit bf6ee8a

Browse files
committed
refactor: platform component extraction and implementation
1 parent 42952fe commit bf6ee8a

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

README.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
1-
![Domain Extractor and Parsing Ruby Gem](https://github.com/user-attachments/assets/b3fbe605-3a3e-4d45-b0ed-b061a807d61b)
2-
31
# DomainExtractor
42

3+
## 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. Used extensively throughout the [OpenSite AI platform](https://opensite.ai)
4+
5+
![Domain Extractor and Parsing Ruby Gem](https://github.com/user-attachments/assets/b3fbe605-3a3e-4d45-b0ed-b061a807d61b)
6+
57
[![Gem Version](https://badge.fury.io/rb/domain_extractor.svg?v=020)](https://badge.fury.io/rb/domain_extractor)
68
[![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)
79

8-
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-
1010
Use **DomainExtractor** whenever you need a dependable tld parser for tricky multi-part tld registries or reliable subdomain extraction in production systems.
1111

1212
## Why DomainExtractor?
1313

14-
**URI-Compatible Accessors** - Covers common absolute-URL workflows with a Ruby `URI`-style API
15-
**Authentication Extraction** - Parse credentials from Redis, database, FTP, and API URLs
16-
**Accurate Multi-part TLD Parser** - Handles complex multi-part TLDs (co.uk, com.au, gov.br) using the [Public Suffix List](https://publicsuffix.org/)
17-
**Nested Subdomain Extraction** - Correctly parses multi-level subdomains (api.staging.example.com)
18-
**Smart URL Normalization** - Automatically handles URLs with or without schemes
19-
**Powerful URL Formatting** - Transform and standardize URLs with flexible options
20-
**Rails Integration** - Custom ActiveModel validator for declarative URL validation
21-
**Query Parameter Parsing** - Parse query strings into structured hashes
22-
**Authentication Helpers** - Generate Basic Auth and Bearer token headers
23-
**Batch Processing** - Parse multiple URLs efficiently
24-
**IP Address Detection** - Identifies and handles IPv4 and IPv6 addresses
25-
**Benchmark-Backed Performance** - Auth helpers run in low microseconds; full parses are documented in the included benchmark suite
26-
**Zero Configuration** - Works out of the box with sensible defaults
27-
**Well-Tested** - 200+ comprehensive test cases covering all scenarios
14+
- **URI-Compatible Accessors** - Covers common absolute-URL workflows with a Ruby `URI`-style API
15+
- **Authentication Extraction** - Parse credentials from Redis, database, FTP, and API URLs
16+
- **Accurate Multi-part TLD Parser** - Handles complex multi-part TLDs (co.uk, com.au, gov.br) using the [Public Suffix List](https://publicsuffix.org/)
17+
- **Nested Subdomain Extraction** - Correctly parses multi-level subdomains (api.staging.example.com)
18+
- **Smart URL Normalization** - Automatically handles URLs with or without schemes
19+
- **Powerful URL Formatting** - Transform and standardize URLs with flexible options
20+
- **Rails Integration** - Custom ActiveModel validator for declarative URL validation
21+
- **Query Parameter Parsing** - Parse query strings into structured hashes
22+
- **Authentication Helpers** - Generate Basic Auth and Bearer token headers
23+
- **Batch Processing** - Parse multiple URLs efficiently
24+
- **IP Address Detection** - Identifies and handles IPv4 and IPv6 addresses
25+
- **Benchmark-Backed Performance** - Auth helpers run in low microseconds; full parses are documented in the included benchmark suite
26+
- **Zero Configuration** - Works out of the box with sensible defaults
27+
- **Well-Tested** - 200+ comprehensive test cases covering all scenarios
2828

2929
## Installation
3030

@@ -43,7 +43,7 @@ $ bundle install
4343
Or install it yourself:
4444

4545
```bash
46-
$ gem install domain_extractor
46+
gem install domain_extractor
4747
```
4848

4949
## Quick Start
@@ -1311,7 +1311,7 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/opensi
13111311

13121312
## License
13131313

1314-
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
1314+
BSD 3-Clause
13151315

13161316
## Acknowledgments
13171317

0 commit comments

Comments
 (0)