scheme
Protocol scheme, i.e. ‘http’,‘ftp’,‘mailto’ and so on.
userinfo
User name and password, i.e. ‘sdmitry:bla’.
host
Server host name.
port
Server port.
registry
Registry of naming authorities.
path
Path on server.
opaque
Opaque part.
query
Query data.
fragment
Part of the URI
after ‘#’ character.
parser
Parser for internal use [URI::DEFAULT_PARSER by default].
arg_check
Check arguments [false by default].
Creates a new URI::Generic
instance from “generic” components without check.
Creates a new URI::LDAP
object from generic URI
components as per RFC 2396. No LDAP-specific syntax checking is performed.
Arguments are scheme
, userinfo
, host
, port
, registry
, path
, opaque
, query
, and fragment
, in that order.
Example:
uri = URI::LDAP.new("ldap", nil, "ldap.example.com", nil, nil, "/dc=example;dc=com", nil, "query", nil)
See also URI::Generic.new
.
Creates a new URI::MailTo
object from generic URL components with no syntax checking.
This method is usually called from URI::parse
, which checks the validity of each component.
Creates a new YAML::Store
object, which will store data in file_name
. If the file does not already exist, it will be created.
YAML::Store
objects are always reentrant. But if thread_safe is set to true, then it will become thread-safe at the cost of a minor performance hit.
Options passed in through yaml_opts
will be used when converting the store to YAML
via Hash#to_yaml()
.
Creates a new Mutex
Creates a new condition variable instance.
Creates a new queue instance, optionally using the contents of an enumerable
for its initial state.
Example:
q = Thread::Queue.new #=> #<Thread::Queue:0x00007ff7501110d0> q.empty? #=> true q = Thread::Queue.new([1, 2, 3]) #=> #<Thread::Queue:0x00007ff7500ec500> q.empty? #=> false q.pop #=> 1
Creates a fixed-length queue with a maximum size of max
.
possible options elements:
hash form: :invalid => nil # raise error on invalid byte sequence (default) :invalid => :replace # replace invalid byte sequence :undef => nil # raise error on undefined conversion (default) :undef => :replace # replace undefined conversion :replace => string # replacement string ("?" or "\uFFFD" if not specified) :newline => :universal # decorator for converting CRLF and CR to LF :newline => :lf # decorator for converting CRLF and CR to LF when writing :newline => :crlf # decorator for converting LF to CRLF :newline => :cr # decorator for converting LF to CR :universal_newline => true # decorator for converting CRLF and CR to LF :crlf_newline => true # decorator for converting LF to CRLF :cr_newline => true # decorator for converting LF to CR :lf_newline => true # decorator for converting CRLF and CR to LF when writing :xml => :text # escape as XML CharData. :xml => :attr # escape as XML AttValue integer form: Encoding::Converter::INVALID_REPLACE Encoding::Converter::UNDEF_REPLACE Encoding::Converter::UNDEF_HEX_CHARREF Encoding::Converter::UNIVERSAL_NEWLINE_DECORATOR Encoding::Converter::LF_NEWLINE_DECORATOR Encoding::Converter::CRLF_NEWLINE_DECORATOR Encoding::Converter::CR_NEWLINE_DECORATOR Encoding::Converter::XML_TEXT_DECORATOR Encoding::Converter::XML_ATTR_CONTENT_DECORATOR Encoding::Converter::XML_ATTR_QUOTE_DECORATOR
Encoding::Converter.new
creates an instance of Encoding::Converter
.
Source_encoding and destination_encoding
should be a string or Encoding
object.
opt should be nil, a hash or an integer.
convpath should be an array. convpath may contain
two-element arrays which contain encodings or encoding names, or
strings representing decorator names.
Encoding::Converter.new
optionally takes an option. The option should be a hash or an integer. The option hash can contain :invalid => nil, etc. The option integer should be logical-or of constants such as Encoding::Converter::INVALID_REPLACE
, etc.
Raise error on invalid byte sequence. This is a default behavior.
Replace invalid byte sequence by replacement string.
Raise an error if a character in source_encoding
is not defined in destination_encoding. This is a default behavior.
Replace undefined character in destination_encoding
with replacement string.
Specify the replacement string. If not specified, “uFFFD” is used for Unicode encodings and “?” for others.
Convert CRLF and CR to LF.
Convert LF to CRLF.
Convert LF to CR.
Convert CRLF and CR to LF (when writing).
Escape as XML CharData. This form can be used as an HTML 4.0 PCDATA.
‘&’ -> ‘&’
‘<’ -> ‘<’
‘>’ -> ‘>’
undefined characters in destination_encoding
-> hexadecimal CharRef such as &#xHH;
Escape as XML AttValue. The converted result is quoted as “…”. This form can be used as an HTML 4.0 attribute value.
‘&’ -> ‘&’
‘<’ -> ‘<’
‘>’ -> ‘>’
‘“’ -> ‘"’
undefined characters in destination_encoding
-> hexadecimal CharRef such as &#xHH;
Examples:
# UTF-16BE to UTF-8 ec = Encoding::Converter.new("UTF-16BE", "UTF-8") # Usually, decorators such as newline conversion are inserted last. ec = Encoding::Converter.new("UTF-16BE", "UTF-8", :universal_newline => true) p ec.convpath #=> [[#<Encoding:UTF-16BE>, #<Encoding:UTF-8>], # "universal_newline"] # But, if the last encoding is ASCII incompatible, # decorators are inserted before the last conversion. ec = Encoding::Converter.new("UTF-8", "UTF-16BE", :crlf_newline => true) p ec.convpath #=> ["crlf_newline", # [#<Encoding:UTF-8>, #<Encoding:UTF-16BE>]] # Conversion path can be specified directly. ec = Encoding::Converter.new(["universal_newline", ["EUC-JP", "UTF-8"], ["UTF-8", "UTF-16BE"]]) p ec.convpath #=> ["universal_newline", # [#<Encoding:EUC-JP>, #<Encoding:UTF-8>], # [#<Encoding:UTF-8>, #<Encoding:UTF-16BE>]]