LDAP URI SCHEMA
(described in RFC2255)
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 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: Create a new URI::LDAP object from generic URI components as per RFC 2396. No LDAP-specific
syntax checking is performed. Arguments are Example: See also URI::Generic.new returns attributes. setter for attributes setter for dn returns extensions. setter for extensions setter for filter private setter for attributes private setter for dn private setter for extensions Constants
not including any entries under this.
Public Class Methods
Description¶ ↑
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
Description¶ ↑
scheme
, userinfo
,
host
, port
, registry
,
path
, opaque
, query
and
fragment
, in that order.uri = URI::LDAP.new("ldap", nil, "ldap.example.com", nil,
"/dc=example;dc=com", "query", nil, nil, nil, nil)
# File uri/ldap.rb, line 108
def initialize(*arg)
super(*arg)
if @fragment
raise InvalidURIError, 'bad LDAP URL'
end
parse_dn
parse_query
end
Public Instance Methods
# File uri/ldap.rb, line 177
def attributes
@attributes
end
val
# File uri/ldap.rb, line 190
def attributes=(val)
set_attributes(val)
val
end
val
# File uri/ldap.rb, line 171
def dn=(val)
set_dn(val)
val
end
# File uri/ldap.rb, line 234
def extensions
@extensions
end
val
# File uri/ldap.rb, line 247
def extensions=(val)
set_extensions(val)
val
end
val
# File uri/ldap.rb, line 228
def filter=(val)
set_filter(val)
val
end
Protected Instance Methods
val
# File uri/ldap.rb, line 182
def set_attributes(val)
@attributes = val
build_path_query
@attributes
end
val
# File uri/ldap.rb, line 163
def set_dn(val)
@dn = val
build_path_query
@dn
end
val
# File uri/ldap.rb, line 239
def set_extensions(val)
@extensions = val
build_path_query
@extensions
end