| Module | URI |
| In: |
lib/uri/common.rb
lib/uri/ftp.rb lib/uri/generic.rb lib/uri/http.rb lib/uri/https.rb lib/uri/ldap.rb lib/uri/mailto.rb |
| Author: | Akira Yamada <[email protected]> |
| Revision: | $Id: common.rb,v 1.11.2.7 2005/06/24 04:15:20 akira Exp $ |
| License: | You can redistribute it and/or modify it under the same term as Ruby. |
URI::extract(str[, schemes][,&blk])
| str: | String to extract URIs from. |
| schemes: | Limit URI matching to a specific schemes. |
Extracts URIs from a string. If block given, iterates through all matched URIs. Returns nil if block given or array with matches.
require "uri"
URI.extract("text here http://foo.example.org/bla and here mailto:[email protected] and here also.")
# => ["http://foo.example.org/bla", "mailto:[email protected]"]
URI::join(str[, str, ...])
| str: | String(s) to work with |
Joins URIs.
require 'uri'
p URI.join("http://localhost/","main.rbx")
# => #<URI::HTTP:0x2022ac02 URL:http://localhost/main.rbx>
URI::parse(uri_str)
| uri_str: | String with URI. |
Creates one of the URI’s subclasses instance from the string.
Raised if URI given is not a correct one.
require 'uri'
uri = URI.parse("http://www.ruby-lang.org/")
p uri
# => #<URI::HTTP:0x202281be URL:http://www.ruby-lang.org/>
p uri.scheme
# => "http"
p uri.host
# => "www.ruby-lang.org"
URI::regexp([match_schemes])
| match_schemes: | Array of schemes. If given, resulting regexp matches to URIs whose scheme is one of the match_schemes. |
Returns a Regexp object which matches to URI-like strings. The Regexp object returned by this method includes arbitrary number of capture group (parentheses). Never rely on it’s number.
require 'uri'
# extract first URI from html_string
html_string.slice(URI.regexp)
# remove ftp URIs
html_string.sub(URI.regexp(['ftp'])
# You should not rely on the number of parentheses
html_string.scan(URI.regexp) do |*matches|
p $&
end
URI::split(uri)
| uri: | String with URI. |
Splits the string on following parts and returns array with result:
* Scheme * Userinfo * Host * Port * Registry * Path * Opaque * Query * Fragment
require 'uri'
p URI.split("http://www.ruby-lang.org/")
# => ["http", nil, "www.ruby-lang.org", nil, nil, "/", nil, nil, nil]