From 6e9f202e1fda78f8a03bdb74a4d2a13e3056aae1 Mon Sep 17 00:00:00 2001 From: Matt Todd Date: Sat, 20 Dec 2014 00:08:24 -0800 Subject: [PATCH] Doc some FilterSet responsibilities, usage --- lib/github/ldap/filter_set.rb | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lib/github/ldap/filter_set.rb diff --git a/lib/github/ldap/filter_set.rb b/lib/github/ldap/filter_set.rb new file mode 100644 index 0000000..a36dcec --- /dev/null +++ b/lib/github/ldap/filter_set.rb @@ -0,0 +1,36 @@ +module GitHub + class Ldap + # Manages the filters and attributes used for queries. + # + ## Queries + # + # These are the queries accounted for: + # + # * user lookup + # * group lookup + # * group search + # * group member search (nested) + # * group membership validation (nested) + # * user membership lookup (nested) + # + # Queries marked with *(nested)* may require recursion. + # + # This object is responsible for generating the query filter based on the + # given input. + # + ## Usage + # + # fs = FilterSet.new(ldap, cn: "cn", member: "member") + # fs.attributes[:member] #=> "member" + # + # fs.group_filter(cn) #=> Net::LDAP::Filter(objectClass=group&cn=#{cn}) + # + # fs.member_search_filter(dn) #=> Net::LDAP::Filter(memberOf=#{dn}) + # fs.member_search_filter = "(&(memberOf:#{OID}:=%s)(objectClass=person))" + # + # fs.person_filter #=> Net::LDAP::Filter(objectClass=person) + # fs.person_filter = "(&(sAMAccountName=%s)(description=git)(objectCategory=person))" + class FilterSet + end + end +end