D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
lib
/
ruby
/
gems
/
3.0.0
/
gems
/
rbs-1.0.4
/
stdlib
/
uri
/
0
/
Filename :
ldap.rbs
back
Copy
# URI is a module providing classes to handle Uniform Resource Identifiers # ([RFC2396](http://tools.ietf.org/html/rfc2396)). # # ## Features # # * Uniform way of handling URIs. # * Flexibility to introduce custom URI schemes. # * Flexibility to have an alternate URI::Parser (or just different patterns # and regexp's). # # # ## Basic example # # require 'uri' # # uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413") # #=> #<URI::HTTP http://foo.com/posts?id=30&limit=5#time=1305298413> # # uri.scheme #=> "http" # uri.host #=> "foo.com" # uri.path #=> "/posts" # uri.query #=> "id=30&limit=5" # uri.fragment #=> "time=1305298413" # # uri.to_s #=> "http://foo.com/posts?id=30&limit=5#time=1305298413" # # ## Adding custom URIs # # module URI # class RSYNC < Generic # DEFAULT_PORT = 873 # end # @@schemes['RSYNC'] = RSYNC # end # #=> URI::RSYNC # # URI.scheme_list # #=> {"FILE"=>URI::File, "FTP"=>URI::FTP, "HTTP"=>URI::HTTP, # # "HTTPS"=>URI::HTTPS, "LDAP"=>URI::LDAP, "LDAPS"=>URI::LDAPS, # # "MAILTO"=>URI::MailTo, "RSYNC"=>URI::RSYNC} # # uri = URI("rsync://rsync.foo.com") # #=> #<URI::RSYNC rsync://rsync.foo.com> # # ## RFC References # # A good place to view an RFC spec is http://www.ietf.org/rfc.html. # # Here is a list of all related RFC's: # * [RFC822](http://tools.ietf.org/html/rfc822) # * [RFC1738](http://tools.ietf.org/html/rfc1738) # * [RFC2255](http://tools.ietf.org/html/rfc2255) # * [RFC2368](http://tools.ietf.org/html/rfc2368) # * [RFC2373](http://tools.ietf.org/html/rfc2373) # * [RFC2396](http://tools.ietf.org/html/rfc2396) # * [RFC2732](http://tools.ietf.org/html/rfc2732) # * [RFC3986](http://tools.ietf.org/html/rfc3986) # # # ## Class tree # # * URI::Generic (in uri/generic.rb) # * URI::File - (in uri/file.rb) # * URI::FTP - (in uri/ftp.rb) # * URI::HTTP - (in uri/http.rb) # * URI::HTTPS - (in uri/https.rb) # # * URI::LDAP - (in uri/ldap.rb) # * URI::LDAPS - (in uri/ldaps.rb) # # * URI::MailTo - (in uri/mailto.rb) # # * URI::Parser - (in uri/common.rb) # * URI::REGEXP - (in uri/common.rb) # * URI::REGEXP::PATTERN - (in uri/common.rb) # # * URI::Util - (in uri/common.rb) # * URI::Escape - (in uri/common.rb) # * URI::Error - (in uri/common.rb) # * URI::InvalidURIError - (in uri/common.rb) # * URI::InvalidComponentError - (in uri/common.rb) # * URI::BadURIError - (in uri/common.rb) # # # # ## Copyright Info # # Author # : Akira Yamada <akira@ruby-lang.org> # Documentation # : Akira Yamada <akira@ruby-lang.org> Dmitry V. Sabanin <sdmitry@lrn.ru> # Vincent Batts <vbatts@hashbangbash.com> # License # : Copyright (c) 2001 akira yamada <akira@ruby-lang.org> You can redistribute # it and/or modify it under the same term as Ruby. # Revision # : $Id$ # # module URI # # LDAP URI SCHEMA (described in RFC2255). # - # ldap://<host>/<dn>[?<attrs>[?<scope>[?<filter>[?<extensions>]]]] # + class LDAP < Generic # A Default port of 389 for URI::LDAP. DEFAULT_PORT: Integer # An Array of the available components for URI::LDAP. COMPONENT: Array[Symbol] # Scopes available for the starting point. # # * SCOPE_BASE - the Base DN # * SCOPE_ONE - one level under the Base DN, not including the base DN and # not including any entries under this # * SCOPE_SUB - subtrees, all entries at all levels # SCOPE: Array[String] # # == Description # # Creates a new URI::LDAP object from components, with syntax checking. # # The components accepted are host, port, dn, attributes, # scope, filter, and extensions. # # 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 <code>[host, port, dn, attributes, scope, filter, extensions]</code>. # # Example: # # uri = URI::LDAP.build({:host => 'ldap.example.com', # :dn => '/dc=example'}) # # uri = URI::LDAP.build(["ldap.example.com", nil, # "/dc=example;dc=com", "query", nil, nil, nil]) # def self.build: (Array[nil | String | Integer] args) -> URI::LDAP | ({ host: String, port: Integer?, dn: String, attributes: String?, scope: String?, filter: String?, extensions: String? }) -> URI::LDAP # # == Description # # 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. # def initialize: (String schema, String? userinfo, String host, Integer? port, String? registry, String? path, String? opaque, String query, String? fragment) -> URI::LDAP # Private method to cleanup +dn+ from using the +path+ component attribute. def parse_dn: () -> nil # Private method to cleanup +attributes+, +scope+, +filter+, and +extensions+ # from using the +query+ component attribute. def parse_query: () -> nil # Private method to assemble +query+ from +attributes+, +scope+, +filter+, and +extensions+. def build_path_query: () -> String # Returns dn. def dn: () -> String # Private setter for dn +val+. def set_dn: (String val) -> String # Setter for dn +val+. def dn=: (String val) -> String # Returns attributes. def attributes: () -> String # Private setter for attributes +val+. def set_attributes: (String val) -> String # Setter for attributes +val+. def attributes=: (String val) -> String # Returns scope. def scope: () -> String # Private setter for scope +val+. def set_scope: (String val) -> String # Setter for scope +val+. def scope=: (String val) -> String # Returns filter. def filter: () -> String # Private setter for filter +val+. def set_filter: (String val) -> String # Setter for filter +val+. def filter=: (String val) -> String # Returns extensions. def extensions: () -> untyped # Private setter for extensions +val+. def set_extensions: (String val) -> String # Setter for extensions +val+. def extensions=: (String val) -> String # Checks if URI has a path. # For URI::LDAP this will return +false+. def hierarchical?: () -> ::FalseClass end end