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, Parser, REGEXP, 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
decode_uri_component, decode_www_form, decode_www_form_component, encode_uri_component, encode_www_form, encode_www_form_component, extract, for, join, parse, 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 |