Class: Gem::URI::LDAP
- Defined in:
- lib/rubygems/vendor/uri/lib/uri/ldap.rb
Overview
LDAP Gem::URI SCHEMA (described in RFC2255). – ldap://<host>/<dn>[?<attrs>[?<scope>[?<filter>]]] ++
Direct Known Subclasses
Constant Summary collapse
- DEFAULT_PORT =
          A Default port of 389 for Gem::URI::LDAP. 
- 389
- COMPONENT =
          An Array of the available components for Gem::URI::LDAP. 
- [ :scheme, :host, :port, :dn, :attributes, :scope, :filter, :extensions, ].freeze 
- 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 - subtrees, all entries at all levels 
 
- 
- [ SCOPE_ONE = 'one', SCOPE_SUB = 'sub', SCOPE_BASE = 'base', ].freeze 
Constants inherited from Generic
Constants included from Gem::URI
DEFAULT_PARSER, RFC2396_PARSER, RFC3986_PARSER, TBLDECWWWCOMP_, TBLENCURICOMP_, TBLENCWWWCOMP_, VERSION, VERSION_CODE
Instance Attribute Summary
Attributes inherited from Generic
#fragment, #host, #opaque, #path, #port, #query, #scheme
Class Method Summary collapse
- 
  
    
      .build(args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Description.
Instance Method Summary collapse
- 
  
    
      #attributes  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns attributes. 
- 
  
    
      #attributes=(val)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Setter for attributes val.
- 
  
    
      #dn  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns dn. 
- 
  
    
      #dn=(val)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Setter for dn val.
- 
  
    
      #extensions  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns extensions. 
- 
  
    
      #extensions=(val)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Setter for extensions val.
- 
  
    
      #filter  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns filter. 
- 
  
    
      #filter=(val)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Setter for filter val.
- 
  
    
      #hierarchical?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Checks if Gem::URI has a path. 
- 
  
    
      #initialize(*arg)  ⇒ LDAP 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    Description.
- 
  
    
      #scope  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns scope. 
- 
  
    
      #scope=(val)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Setter for scope val.
Methods inherited from Generic
#==, #absolute?, build2, #coerce, component, #component, #decoded_password, #decoded_user, #default_port, default_port, #eql?, #find_proxy, #hash, #hostname, #hostname=, #inspect, #merge, #merge!, #normalize, #normalize!, #parser, #password, #password=, #registry, #registry=, #relative?, #route_from, #route_to, #select, #to_s, use_proxy?, use_registry, #user, #user=, #userinfo, #userinfo=
Methods included from Gem::URI
const_missing, decode_uri_component, decode_www_form, decode_www_form_component, encode_uri_component, encode_www_form, encode_www_form_component, extract, for, join, parse, parser=, regexp, register_scheme, scheme_list, split
Constructor Details
#initialize(*arg) ⇒ LDAP
Description
Creates a new Gem::URI::LDAP object from generic Gem::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 = Gem::URI::LDAP.new("ldap", nil, "ldap.example.com", nil, nil,
  "/dc=example;dc=com", nil, "query", nil)
See also Gem::URI::Generic.new.
| 108 109 110 111 112 113 114 115 116 117 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 108 def initialize(*arg) super(*arg) if @fragment raise InvalidURIError, 'bad LDAP URL' end parse_dn parse_query end | 
Class Method Details
.build(args) ⇒ Object
Description
Creates a new Gem::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:
uri = Gem::URI::LDAP.build({:host => 'ldap.example.com',
  :dn => '/dc=example'})
uri = Gem::URI::LDAP.build(["ldap.example.com", nil,
  "/dc=example;dc=com", "query", nil, nil, nil])
| 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 74 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 | 
Instance Method Details
#attributes ⇒ Object
Returns attributes.
| 178 179 180 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 178 def attributes @attributes end | 
#attributes=(val) ⇒ Object
Setter for attributes val.
| 191 192 193 194 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 191 def attributes=(val) set_attributes(val) val end | 
#dn ⇒ Object
Returns dn.
| 159 160 161 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 159 def dn @dn end | 
#dn=(val) ⇒ Object
Setter for dn val.
| 172 173 174 175 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 172 def dn=(val) set_dn(val) val end | 
#extensions ⇒ Object
Returns extensions.
| 235 236 237 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 235 def extensions @extensions end | 
#extensions=(val) ⇒ Object
Setter for extensions val.
| 248 249 250 251 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 248 def extensions=(val) set_extensions(val) val end | 
#filter ⇒ Object
Returns filter.
| 216 217 218 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 216 def filter @filter end | 
#filter=(val) ⇒ Object
Setter for filter val.
| 229 230 231 232 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 229 def filter=(val) set_filter(val) val end | 
#hierarchical? ⇒ Boolean
Checks if Gem::URI has a path. For Gem::URI::LDAP this will return false.
| 255 256 257 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 255 def hierarchical? false end | 
#scope ⇒ Object
Returns scope.
| 197 198 199 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 197 def scope @scope end | 
#scope=(val) ⇒ Object
Setter for scope val.
| 210 211 212 213 | # File 'lib/rubygems/vendor/uri/lib/uri/ldap.rb', line 210 def scope=(val) set_scope(val) val end |