Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more

In Files

  • uri/ldap.rb

URI::LDAP

LDAP URI SCHEMA (described in RFC2255) ldap:///[?[?[?]]]

Constants

COMPONENT

An Array of the available components for URI::LDAP

DEFAULT_PORT

A Default port of 389 for URI::LDAP

SCOPE

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

Public Class Methods

build(args) click to toggle source

Description

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
            
new(*arg) click to toggle source

Description

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
            

Public Instance Methods

attributes() click to toggle source

returns attributes.

 
               # File uri/ldap.rb, line 177
def attributes
  @attributes
end
            
attributes=(val) click to toggle source

setter for attributes val

 
               # File uri/ldap.rb, line 190
def attributes=(val)
  set_attributes(val)
  val
end
            
dn() click to toggle source

returns dn.

 
               # File uri/ldap.rb, line 158
def dn
  @dn
end
            
dn=(val) click to toggle source

setter for dn val

 
               # File uri/ldap.rb, line 171
def dn=(val)
  set_dn(val)
  val
end
            
extensions() click to toggle source

returns extensions.

 
               # File uri/ldap.rb, line 234
def extensions
  @extensions
end
            
extensions=(val) click to toggle source

setter for extensions val

 
               # File uri/ldap.rb, line 247
def extensions=(val)
  set_extensions(val)
  val
end
            
filter() click to toggle source

returns filter.

 
               # File uri/ldap.rb, line 215
def filter
  @filter
end
            
filter=(val) click to toggle source

setter for filter val

 
               # File uri/ldap.rb, line 228
def filter=(val)
  set_filter(val)
  val
end
            
hierarchical?() click to toggle source

Checks if URI has a path For URI::LDAP this will return false

 
               # File uri/ldap.rb, line 254
def hierarchical?
  false
end
            
scope() click to toggle source

returns scope.

 
               # File uri/ldap.rb, line 196
def scope
  @scope
end
            
scope=(val) click to toggle source

setter for scope val

 
               # File uri/ldap.rb, line 209
def scope=(val)
  set_scope(val)
  val
end
            

Protected Instance Methods

set_attributes(val) click to toggle source

private setter for attributes val

 
               # File uri/ldap.rb, line 182
def set_attributes(val)
  @attributes = val
  build_path_query
  @attributes
end
            
set_dn(val) click to toggle source

private setter for dn val

 
               # File uri/ldap.rb, line 163
def set_dn(val)
  @dn = val
  build_path_query
  @dn
end
            
set_extensions(val) click to toggle source

private setter for extensions val

 
               # File uri/ldap.rb, line 239
def set_extensions(val)
  @extensions = val
  build_path_query
  @extensions
end
            
set_filter(val) click to toggle source

private setter for filter val

 
               # File uri/ldap.rb, line 220
def set_filter(val)
  @filter = val
  build_path_query
  @filter
end
            
set_scope(val) click to toggle source

private setter for scope val

 
               # File uri/ldap.rb, line 201
def set_scope(val)
  @scope = val
  build_path_query
  @scope
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.