Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
LDAP URI SCHEMA
(described in RFC2255) ldap://
An Array of the available components for URI::LDAP
A Default port of 389 for URI::LDAP
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 - subtress, all entries at all levels
Create 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 [host, port, dn, attributes, scope, filter, extensions].
Example:
newuri = URI::LDAP.build({:host => 'ldap.example.com',
:dn> => '/dc=example'})
newuri = URI::LDAP.build(["ldap.example.com", nil,
"/dc=example;dc=com", "query", nil, nil, nil])
# File uri/ldap.rb, line 73
def self.build(args)
tmp = Util::make_components_hash(self, args)
if tmp[:dn]
tmp[:path] = tmp[:dn]
end
query = []
[:extensions, :filter, :scope, :attributes].collect do |x|
next if !tmp[x] && query.size == 0
query.unshift(tmp[x])
end
tmp[:query] = query.join('?')
return super(tmp)
end
Create 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, "/dc=example;dc=com", "query", nil, nil, nil, nil)
See also URI::Generic.new
# File uri/ldap.rb, line 108
def initialize(*arg)
super(*arg)
if @fragment
raise InvalidURIError, 'bad LDAP URL'
end
parse_dn
parse_query
end
returns attributes.
# File uri/ldap.rb, line 177
def attributes
@attributes
end
setter for attributes val
# File uri/ldap.rb, line 190
def attributes=(val)
set_attributes(val)
val
end
setter for dn val
# File uri/ldap.rb, line 171
def dn=(val)
set_dn(val)
val
end
returns extensions.
# File uri/ldap.rb, line 234
def extensions
@extensions
end
setter for extensions val
# File uri/ldap.rb, line 247
def extensions=(val)
set_extensions(val)
val
end
setter for filter val
# File uri/ldap.rb, line 228
def filter=(val)
set_filter(val)
val
end
private setter for attributes val
# File uri/ldap.rb, line 182
def set_attributes(val)
@attributes = val
build_path_query
@attributes
end
private setter for dn val
# File uri/ldap.rb, line 163
def set_dn(val)
@dn = val
build_path_query
@dn
end
private setter for extensions val
# File uri/ldap.rb, line 239
def set_extensions(val)
@extensions = val
build_path_query
@extensions
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.