Class URI::LDAP
In: uri/ldap.rb
Parent: Generic

LDAP URI SCHEMA (described in RFC2255) ldap://<host>/<dn>[?<attrs>[?<scope>[?<filter>[?<extensions>]]]]

Methods

Constants

DEFAULT_PORT = 389
COMPONENT = [ :scheme, :host, :port, :dn, :attributes, :scope, :filter, :extensions, ].freeze
SCOPE = [ SCOPE_ONE = 'one', SCOPE_SUB = 'sub', SCOPE_BASE = 'base', ].freeze

Public Class methods

[Source]

# File uri/ldap.rb, line 41
    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

[Source]

# File uri/ldap.rb, line 59
    def initialize(*arg)
      super(*arg)

      if @fragment
        raise InvalidURIError, 'bad LDAP URL'
      end

      parse_dn
      parse_query
    end

Public Instance methods

[Source]

# File uri/ldap.rb, line 120
    def attributes
      @attributes
    end

[Source]

# File uri/ldap.rb, line 131
    def attributes=(val)
      set_attributes(val)
      val
    end

[Source]

# File uri/ldap.rb, line 104
    def dn
      @dn
    end

[Source]

# File uri/ldap.rb, line 115
    def dn=(val)
      set_dn(val)
      val
    end

[Source]

# File uri/ldap.rb, line 168
    def extensions
      @extensions
    end

[Source]

# File uri/ldap.rb, line 179
    def extensions=(val)
      set_extensions(val)
      val
    end

[Source]

# File uri/ldap.rb, line 152
    def filter
      @filter
    end

[Source]

# File uri/ldap.rb, line 163
    def filter=(val)
      set_filter(val)
      val
    end

[Source]

# File uri/ldap.rb, line 184
    def hierarchical?
      false
    end

[Source]

# File uri/ldap.rb, line 136
    def scope
      @scope
    end

[Source]

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

Protected Instance methods

[Source]

# File uri/ldap.rb, line 124
    def set_attributes(val)
      @attributes = val
      build_path_query
      @attributes
    end

[Source]

# File uri/ldap.rb, line 108
    def set_dn(val)
      @dn = val
      build_path_query
      @dn
    end

[Source]

# File uri/ldap.rb, line 172
    def set_extensions(val)
      @extensions = val
      build_path_query
      @extensions
    end

[Source]

# File uri/ldap.rb, line 156
    def set_filter(val)
      @filter = val
      build_path_query
      @filter
    end

[Source]

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

[Validate]

ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.

Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.

For more information on the Ruby programming language, visit ruby-lang.org.

Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.