class URI::LDAP
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  returns dn. setter for dn  returns extensions. setter for extensions  returns filter. setter for filter  returns scope. setter for scope  private setter for attributes  private setter for dn  private setter for extensions  private setter for filter  private setter for scope  private method to assemble  private method to cleanup  private method to cleanup 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 lib/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 lib/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 lib/uri/ldap.rb, line 177
def attributes
  @attributes
end
          val# File lib/uri/ldap.rb, line 190
def attributes=(val)
  set_attributes(val)
  val
end
          # File lib/uri/ldap.rb, line 158
def dn
  @dn
end
          val# File lib/uri/ldap.rb, line 171
def dn=(val)
  set_dn(val)
  val
end
          # File lib/uri/ldap.rb, line 234
def extensions
  @extensions
end
          val# File lib/uri/ldap.rb, line 247
def extensions=(val)
  set_extensions(val)
  val
end
          # File lib/uri/ldap.rb, line 215
def filter
  @filter
end
          val# File lib/uri/ldap.rb, line 228
def filter=(val)
  set_filter(val)
  val
end
          # File lib/uri/ldap.rb, line 196
def scope
  @scope
end
          val# File lib/uri/ldap.rb, line 209
def scope=(val)
  set_scope(val)
  val
end
          Protected Instance Methods
       val# File lib/uri/ldap.rb, line 182
def set_attributes(val)
  @attributes = val
  build_path_query
  @attributes
end
          val# File lib/uri/ldap.rb, line 163
def set_dn(val)
  @dn = val
  build_path_query
  @dn
end
          val# File lib/uri/ldap.rb, line 239
def set_extensions(val)
  @extensions = val
  build_path_query
  @extensions
end
          val# File lib/uri/ldap.rb, line 220
def set_filter(val)
  @filter = val
  build_path_query
  @filter
end
          val# File lib/uri/ldap.rb, line 201
def set_scope(val)
  @scope = val
  build_path_query
  @scope
end
          Private Instance Methods
       query from attributes,
scope, filter and extensions.# File lib/uri/ldap.rb, line 145
def build_path_query
  @path = '/' + @dn
  query = []
  [@extensions, @filter, @scope, @attributes].each do |x|
    next if !x && query.size == 0
    query.unshift(x)
  end
  @query = query.join('?')
end
          dn from using the path
component attribute# File lib/uri/ldap.rb, line 120
def parse_dn
  @dn = @path[1..-1]
end
          attributes, scope,
filter and extensions, from using the
query component attribute# File lib/uri/ldap.rb, line 127
def parse_query
  @attributes = nil
  @scope      = nil
  @filter     = nil
  @extensions = nil
  if @query
    attrs, scope, filter, extensions = @query.split('?')
    @attributes = attrs if attrs && attrs.size > 0
    @scope      = scope if scope && scope.size > 0
    @filter     = filter if filter && filter.size > 0
    @extensions = extensions if extensions && extensions.size > 0
  end
end