Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > uriライブラリ > URI::Genericクラス
クラスの継承リスト: URI::Generic < URI < Object < Kernel
すべての URI クラスの基底クラスです。
hash と eql? が再定義されているため、Hash のキーとして 利用することができます。
build(ary) -> URI::Generic
[permalink][rdoc]build(hash) -> URI::Generic
引数で与えられた URI 構成要素から URI::Generic オブジェクトを生成します。
[scheme, userinfo, host, port, registry, path, opaque, query, fragment]
:scheme ,:userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment
build2(ary) -> URI::Generic
[permalink][rdoc]build2(hash) -> URI::Generic
URI::Generic.build と同じですが、例外 URI::InvalidComponentError が発生した場合に、引数の各要素を URI.escape して再度 build を試み ます。
[scheme, userinfo, host, port, registry, path, opaque, query, fragment]
:scheme, :userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment
component -> [Symbol]
[permalink][rdoc]URI の構成要素を表すシンボルの配列を返します。
require 'uri' p URI::Generic.component p URI::MailTo.component # => [:scheme, :userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment] # => [:scheme, :to, :headers]
default_port -> Integer | nil
[permalink][rdoc]スキームに対応するデフォルトのポート番号を整数で返します。
require 'uri' URI::Generic.default_port # => nil URI::FTP.default_port # => 21 URI::HTTP.default_port # => 80 URI::HTTPS.default_port # => 443 URI::LDAP.default_port # => 389 URI::LDAPS.default_port # => 636 URI::MailTo.default_port # => nil
new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::Generic
[permalink][rdoc]各引数を成分とする URI::Generic オブジェクトを生成して返します。
use_registry -> bool
[permalink][rdoc]構成要素 registry を受け付けるなら true を返します。 URI::Generic クラスでは false です。
merge(rel) -> URI::Generic
[permalink][rdoc]self + rel -> URI::Generic
自身と与えられたパス rel を連結した新しい URI オブジェクトを生成して返します。
[RFC3986] の Section 5.2 の仕様に従います。 rel が文字列の場合は URI.parse(rel) によって、URI に変換してから連結します。
例:
require 'uri' p URI.parse('http://example.com/') + '/foo/bar.html' #=> #<URI::HTTP:0x201001c0 URL:http://example.com/foo/bar.html> URI('http://a/b/c/d;p?q').merge('?y') #=> #<URI::HTTP:0xb7ca2e2c URL:http://a/b/c/d;p?y> URI('http://a/b/c/d;p?q').merge('/./g') #=> #<URI::HTTP:0xb7ca2738 URL:http://a/g> URI('http://a/b/c/d;p?q').merge('/../g') #=> #<URI::HTTP:0xb7ca2008 URL:http://a/g> URI('http://a/b/c/d;p?q').merge('../../../g') #=> #<URI::HTTP:0xb7ca1888 URL:http://a/g> URI('http://a/b/c/d;p?q').merge('../../../../g') #=> #<URI::HTTP:0xb7ca10a4 URL:http://a/g>
route_from(src) -> URI::Generic
[permalink][rdoc]self - src -> URI::Generic
与えられた URI を表す src からの相対パスを返します。
例:
require 'uri' p URI.parse('http://example.com/foo/bar.html') - 'http://example.com/' #=> #<URI::Generic:0x20100256 URL:foo/bar.html>
self == uri -> bool
[permalink][rdoc]引数に指定した URI (文字列またはURIオブジェクト)との一致判定を行い ます。URI は正規化して比較されます。
例:
require 'uri' u1 = URI.parse('http://example.com/?hoge') u2 = URI.parse('http://Example.Com/?hoge') p u1 == u2 #=> true
absolute -> bool
[permalink][rdoc]absolute? -> bool
自身に scheme が設定されているなら true を返します。そうでない場合は false を返します。
例:
p URI.parse('http://example.com/').absolute? #=> true p URI.parse('./').absolute? #=> false
component -> [Symbol]
[permalink][rdoc]self.class.component を返します。
[SEE_ALSO] URI::Generic.component
default_port -> Integer | nil
[permalink][rdoc]self.class.default_port を返します。
[SEE_ALSO] URI::Generic.default_port
fragment -> String | nil
[permalink][rdoc]自身の fragment を文字列で返します。設定されていない場合は nil を返します。
例:
require 'uri' u = URI.parse('http://example.com/#frgmt') p u.fragment #=> "frgmt"
fragment=(s)
[permalink][rdoc]自身の fragment を設定します。
hierarchical? -> bool
[permalink][rdoc]自身に path が設定されているなら true を返します。そうでない場合は false を返します。
host -> String | nil
[permalink][rdoc]自身の host を文字列で返します。設定されていない場合は nil を返します。
host=(s)
[permalink][rdoc]自身の host を設定します。
merge!(rel) -> self
[permalink][rdoc]与えられたパス rel を自身へ連結します。
[RFC2396] の Section 5.2 の仕様に従います。 rel が文字列の場合は URI.parse(rel) によって、URI に変換してから連結します。
例:
u = URI.parse('http://example.com/') u.merge!('/foo/bar.html') p u.to_s #=> http://example.com/foo/bar.html
normalize -> URI::Generic
[permalink][rdoc]normalize! -> nil
URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと 構成要素がなければ '/' をセットします。
例:
u = URI.parse('http://Example.Com') p u.to_s #=> "http://Example.Com" p u.normalize.to_s #=> "http://example.com/"
opaque -> String | nil
[permalink][rdoc]自身の opaque を文字列で返します。設定されていない場合は nil を返します。
例:
p URI.parse('http://example.com/').opaque #=> nil p URI.parse('mailto:nospam@localhost').opaque #=> "nospam@localhost" p URI.parse('urn:ietf:rfc:1149').opaque #=> "ietf:rfc:1149"
opaque=(s)
[permalink][rdoc]自身の opaque を設定します。
password -> String | nil
[permalink][rdoc]自身の password を文字列で返します。設定されていない場合は nil を返します。
password=(s)
[permalink][rdoc]自身の password を設定します。
自身に user が設定されていない場合には例外が発生します。
path -> String | nil
[permalink][rdoc]自身の path を文字列で返します。設定されていない場合は nil を返します。
p URI.parse('http://example.com/hoge').path #=> "/hoge" p URI.parse('http://example.com').path #=> "" p URI.parse('mailto:nospam@localhost').path #=> nil p URI('ftp://example.com/foo').path #=> 'foo' p URI('ftp://example.com/%2Ffoo').path #=> '/foo'
path=(s)
[permalink][rdoc]自身の path を設定します。
port -> String | nil
[permalink][rdoc]自身の port を文字列で返します。設定されていない場合は nil を返します。
port=(s)
[permalink][rdoc]自身の port を設定します。
query -> String | nil
[permalink][rdoc]自身の query を文字列で返します。設定されていない場合は nil を返します。
例:
p URI.parse('http://example.com/?hoge').query #=> "hoge"
query=(s)
[permalink][rdoc]自身の query を設定します。
registry -> String | nil
[permalink][rdoc]自身の registry を文字列で返します。設定されていない場合は nil を返します。
registry=(s)
[permalink][rdoc]自身の registry を設定します。
relative? -> bool
[permalink][rdoc]自身に scheme が設定されていないなら true を返します。そうでない場合は false を返します。
例:
p URI.parse('http://example.com/').relative? #=> false p URI.parse('./').relative? #=> true
route_to(dst) -> URI::Generic
[permalink][rdoc]自身から dst への相対パスを返します。
例:
require 'uri' p URI.parse('http://example.com/').route_to('http://example.com/foo/bar.html') #=> #<URI::Generic:0x20100198 URL:foo/bar.html>
scheme -> String | nil
[permalink][rdoc]自身の scheme を文字列で返します。設定されていない場合は nil を返します。
scheme=(s)
[permalink][rdoc]自身の scheme を設定します。
select(*components) -> [String]
[permalink][rdoc]指定された components に対応する構成要素を文字列の配列として返します。
例:
require 'uri' uri = URI.parse('http://myuser:mypass@my.example.com/test.rbx') p uri.select(:userinfo, :host, :path) # => ["myuser:mypass", "my.example.com", "/test.rbx"]
to_s -> String
[permalink][rdoc]自身が表す URI を文字列として返します。
例:
p URI.parse('http://example.com/').to_s #=> "http://example.com/"
user -> String | nil
[permalink][rdoc]自身の userinfo を文字列で返します。
userinfo が「username:password」の形式である場合は、username 部を返します。 設定されていない場合は nil を返します。
user=(s)
[permalink][rdoc]自身の user を設定します。
userinfo -> String | nil
[permalink][rdoc]自身の userinfo を "username:password" という形式の文字列で返します。 設定されていない場合は nil を返します。
userinfo=(s)
[permalink][rdoc]自身の userinfo を設定します。
例:
require 'uri' u = URI.parse('http://example.com/') u.userinfo = 'hoge-san:jfae82kj' p u.to_s #=> "http://hoge-san:jfae82kj@example.com/" u.userinfo = 'oreore' p u.to_s #=> "http://oreore:jfae82kj@example.com/" u.userinfo = ['you', 'akakfd'] p u.to_s #=> "http://you:akakfd@example.com/"