README

Path: README
Last Update: Wed Jul 01 19:24:28 -0600 2009

Addressable is a replacement for the URI implementation that is part of Ruby‘s standard library. It more closely conforms to the relevant RFCs and adds support for IRIs and URI templates.

Example usage:

  require 'addressable/uri'

  uri = Addressable::URI.parse("http://example.com/path/to/resource/")
  uri.scheme
  #=> "http"
  uri.host
  #=> "example.com"
  uri.path
  #=> "/path/to/resource/"

  uri = Addressable::URI.parse("http://www.詹姆斯.com/")
  uri.normalize
  #=> #<Addressable::URI:0xc9a4c8 URI:http://www.xn--8ws00zhy3a.com/>

  Addressable::URI.expand_template("http://example.com/{-list|+|query}/", {
    "query" => "an example query".split(" ")
  })
  #=> #<Addressable::URI:0xc9d95c URI:http://example.com/an+example+query/>

  Addressable::URI.parse(
    "http://example.com/a/b/c/?one=1&two=2#foo"
  ).extract_mapping(
    "http://{host}/{-suffix|/|segments}?{-join|&|one,two,bogus}\#{fragment}"
  )
  #=>
  # {
  #   "host" => "example.com",
  #   "segments" => ["a", "b", "c"],
  #   "one" => "1",
  #   "two" => "2",
  #   "fragment" => "foo"
  # }

[Validate]