класс URI::LDAP
LDAP URI СХЕМА (описанная в RFC2255) Массив доступных компонентов для URI::LDAP По умолчанию порт 389 для URI::LDAP Доступные области для начальной точки. SCOPE_BASE - базовая DN SCOPE_ONE - один уровень ниже базовой DN, не включая базу DN и SCOPE_SUB - поддерево, все записи на всех уровнях Создать новый объект URI::LDAP из компонентов с проверкой синтаксиса. Принимаемые компоненты: host, port, dn, attributes, scope, filter и extensions. Компоненты должны быть предоставлены либо как массив, либо как хэш с ключами, образованными путем добавления префикса «двоеточие» к именам компонентов. Если используется массив, компоненты должны быть переданы в порядке [host, port, dn, attributes, scope, filter, extensions]. Пример: Создать новый объект URI::LDAP из компонентов общего URI в соответствии с RFC 2396. Проверка синтаксиса, специфичная для LDAP, не выполняется. Аргументы — Пример: См. также URI::Generic.new возвращает атрибуты. устанавливает атрибуты возвращает dn. устанавливает dn возвращает расширения. устанавливает расширения возвращает фильтр. устанавливает фильтр возвращает область. устанавливает область внутреннее задание атрибутов внутреннее задание dn внутреннее задание расширений внутреннее задание фильтра внутреннее задание области внутренний метод для сборки внутренний метод для очистки внутренний метод для очистки Константы
not including any entries under this.
Публичные методы класса
# File 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 Описание
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 109
def initialize(*arg)
super(*arg)
if @fragment
raise InvalidURIError, 'bad LDAP URL'
end
parse_dn
parse_query
end Описание
scheme, userinfo, host, port, registry, path, opaque, query и fragment, в указанном порядке.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 178
def attributes
@attributes
end
# File lib/uri/ldap.rb, line 191
def attributes=(val)
set_attributes(val)
val
end
val# File lib/uri/ldap.rb, line 159
def dn
@dn
end
# File lib/uri/ldap.rb, line 172
def dn=(val)
set_dn(val)
val
end
val# File lib/uri/ldap.rb, line 235
def extensions
@extensions
end
# File lib/uri/ldap.rb, line 248
def extensions=(val)
set_extensions(val)
val
end
val# File lib/uri/ldap.rb, line 216
def filter
@filter
end
# File lib/uri/ldap.rb, line 229
def filter=(val)
set_filter(val)
val
end
val# File lib/uri/ldap.rb, line 197
def scope
@scope
end
# File lib/uri/ldap.rb, line 210
def scope=(val)
set_scope(val)
val
end
valЗащищённые методы экземпляра
# File lib/uri/ldap.rb, line 183
def set_attributes(val)
@attributes = val
build_path_query
@attributes
end
val# File lib/uri/ldap.rb, line 164
def set_dn(val)
@dn = val
build_path_query
@dn
end
val# File lib/uri/ldap.rb, line 240
def set_extensions(val)
@extensions = val
build_path_query
@extensions
end
val# File lib/uri/ldap.rb, line 221
def set_filter(val)
@filter = val
build_path_query
@filter
end
val# File lib/uri/ldap.rb, line 202
def set_scope(val)
@scope = val
build_path_query
@scope
end
valПриватные методы экземпляра
# File lib/uri/ldap.rb, line 146
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 query из attributes, scope, filter и extensions.# File lib/uri/ldap.rb, line 121
def parse_dn
@dn = @path[1..-1]
end
dn из использования атрибута компонента path# File lib/uri/ldap.rb, line 128
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 attributes, scope, filter и extensions, из использования атрибута компонента query
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.