Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ruby
  3. Addressable

Addressable

Apache-2.0Ruby

A flexible Ruby URI library with heuristic parsing, IRI support, and RFC-compliant URI templates.

GitHubGitHub
1.6k stars279 forks0 contributors

What is Addressable?

Addressable is a Ruby library that provides an alternative implementation to Ruby's standard URI module. It offers enhanced parsing flexibility, support for Internationalized Resource Identifiers (IRIs), and comprehensive URI template functionality based on RFC standards. It solves the limitations of Ruby's built-in URI handling for modern web applications requiring robust URI manipulation.

Target Audience

Ruby developers building web applications, APIs, or tools that require reliable URI parsing, internationalization support, or dynamic URI generation using templates.

Value Proposition

Developers choose Addressable for its strict RFC compliance, heuristic parsing that handles edge cases, and advanced features like IRI support and URI templates not available in Ruby's standard library, making it a more robust and future-proof solution.

Overview

Addressable is an alternative implementation to the URI implementation that is part of Ruby's standard library. It is flexible, offers heuristic parsing, and additionally provides extensive support for IRIs and URI templates.

Use Cases

Best For

  • Parsing and normalizing URIs with non-ASCII characters (IRIs)
  • Generating dynamic URIs using RFC 6570 compliant templates
  • Replacing Ruby's standard URI library with a more flexible alternative
  • Handling edge-case URIs with heuristic parsing
  • Building web crawlers or API clients that need robust URI manipulation
  • Internationalized applications requiring IDN (Internationalized Domain Name) support

Not Ideal For

  • Projects handling only simple, ASCII-only URIs with no need for templates or internationalization
  • Applications with strict dependency minimization policies avoiding external gems
  • Legacy systems deeply integrated with Ruby's stdlib URI where migration would be disruptive
  • Performance-critical microservices parsing millions of URIs where stdlib URI's speed suffices

Pros & Cons

Pros

Heuristic Parsing

Intelligently handles URIs that don't strictly conform to standards, as highlighted in the README, reducing parsing errors for edge-case inputs.

IRI Support

Full support for Internationalized Resource Identifiers allows non-ASCII characters in URIs, essential for global applications with international domain names.

URI Templates

Implements RFC 6570 Level 4 for dynamic URI construction and extraction, enabling advanced templating features like partial expansion and extraction from existing URIs.

RFC Compliance

Closely conforms to RFC 3986, 3987, and 6570, ensuring strict standards adherence for reliable URI handling in modern web development.

Cons

Native IDN Dependency

For full IDN support, requires installing libidn and the idn-ruby gem, adding installation complexity and potential cross-platform issues, as admitted in the README.

Performance Overhead

The heuristic parsing and additional features likely introduce performance costs compared to Ruby's lighter stdlib URI, which could impact high-volume applications.

API Learning Curve

Developers familiar with Ruby's standard URI module must learn a new API, slowing adoption and increasing initial development time for simple use cases.

Frequently Asked Questions

Quick Stats

Stars1,611
Forks279
Contributors0
Open Issues37
Last commit27 days ago
CreatedSince 2008

Tags

#uri-parsing#ruby-gem#rfc-compliance#uri-templates#uri#web-development#idn#uri-template#ruby

Built With

R
Ruby

Included in

Ruby14.1k
Auto-fetched 9 hours ago

Related Projects

VirtusVirtus

[DISCONTINUED ] Attributes on Steroids for Plain Old Ruby Objects

Stars3,746
Forks231
Last commit5 years ago
HashieHashie

Hashie is a collection of classes and mixins that make Ruby hashes more powerful.

Stars3,038
Forks315
Last commit1 month ago
HamsterHamster

Efficient, Immutable, Thread-Safe Collection classes for Ruby

Stars1,911
Forks92
Last commit4 years ago
ActiveAttrActiveAttr

What ActiveModel left out

Stars1,196
Forks91
Last commit4 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub