Class: Mooset::Endpoints::Ldap::LdapSearch
- Defined in:
- lib/mooset/endpoints/ldap/ldap_search.rb
Constant Summary collapse
- GROUP_FILTER =
"(objectClass=group)"
Instance Attribute Summary collapse
-
#endpoint ⇒ Object
readonly
Returns the value of attribute endpoint.
Instance Method Summary collapse
-
#initialize(endpoint, default_search) ⇒ LdapSearch
constructor
A new instance of LdapSearch.
- #query(filter = @default_search, base: endpoint.treebase) ⇒ Object
Methods included from Findable
Constructor Details
#initialize(endpoint, default_search) ⇒ LdapSearch
Returns a new instance of LdapSearch.
9 10 11 12 |
# File 'lib/mooset/endpoints/ldap/ldap_search.rb', line 9 def initialize(endpoint, default_search) @endpoint = endpoint @default_search = default_search end |
Instance Attribute Details
#endpoint ⇒ Object (readonly)
Returns the value of attribute endpoint.
7 8 9 |
# File 'lib/mooset/endpoints/ldap/ldap_search.rb', line 7 def endpoint @endpoint end |
Instance Method Details
#query(filter = @default_search, base: endpoint.treebase) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/mooset/endpoints/ldap/ldap_search.rb', line 29 def query(filter = @default_search, base: endpoint.treebase) return to_enum(:query, filter, base: base) unless block_given? connection.search(base: base, filter: filter) do |object| if object[:objectclass] && object[:objectclass].include?("group") r = Group.build(endpoint, object) elsif object[:objectclass] && object[:objectclass].include?("user") r = User.build(endpoint, object) elsif object[:objectclass] && object[:objectclass].include?("organizationalUnit") r = Ou.build(endpoint, object) else raise "Unknown objectclass #{object[:objectclass]}" end yield r end end |