- Inheritance
- < Object
- Included Modules
- OpenURI::OpenRead
Constants
Name | Description | |
---|---|---|
COMPONENT | = [ :scheme, :userinfo, :host, :port, :path, :typecode | |
DEFAULT_PORT | = 21 | |
TYPECODE | = ['a', 'i', 'd'].freeze | Typecode is "a", "i" or "d". |
TYPECODE_PREFIX | = ';type='.freeze |
Attributes
Name | Visibility | R/W | Description |
---|---|---|---|
typecode | public | R |
Methods
Class
Visibility | Signature |
---|---|
public | build (args) |
public | new (*arg) |
public | new2 (user, password, host, port, path, typecode = nil, arg_check = true) |
Instance
Visibility | Signature |
---|---|
public | path () |
public | to_s () |
public | typecode= (typecode) |
protected | set_typecode (v) |
Class Method Detail
build(args)
Description
Creates a new URI::FTP object from components, with syntax checking.
The components accepted are userinfo, host, port, path and typecode.
The components should be provided either as an Array, or as a Hash with keys formed by preceding the component names with a colon.
If an Array is used, the components must be passed in the order [userinfo, host, port, path, typecode]
If the path supplied is absolute, it will be escaped in order to make it absolute in the URI. Examples:
require 'uri' uri = URI::FTP.build(['user:password', 'ftp.example.com', nil, '/path/file.> zip', 'i']) puts uri.to_s -> ftp://user:password@ftp.example.com/%2Fpath/file.zip;type=a uri2 = URI::FTP.build({:host => 'ftp.example.com', :path => 'ruby/src'}) puts uri2.to_s -> ftp://ftp.example.com/ruby/src
new(*arg)
Description
Creates a new URI::FTP object from generic URL components with no syntax checking.
Unlike build(), this method does not escape the path component as required by RFC1738; instead it is treated as per RFC2396.
Arguments are scheme, userinfo, host, port, registry, path, opaque, query and fragment, in that order.
new2(user, password, host, port, path, typecode = nil, arg_check = true)
Instance Method Detail
path()
Returns the path from an FTP URI.
RFC 1738 specifically states that the path for an FTP URI does not include the / which separates the URI path from the URI host. Example:
ftp://ftp.example.com/pub/ruby
The above URI indicates that the client should connect to ftp.example.com then cd pub/ruby from the initial login directory.
If you want to cd to an absolute directory, you must include an escaped / (%2F) in the path. Example:
ftp://ftp.example.com/%2Fpub/ruby
This method will then return "/pub/ruby"