Sha256: 14c0466105a7d41ee243ccb6f6e8409926e555e388f47a64c4bdbbe8b9b763ca

Contents?: true

Size: 1011 Bytes

Versions: 3

Compression:

Stored size: 1011 Bytes

Contents

module GitHub
  class Ldap
    module MembershipValidators
      class Base

        # Internal: The GitHub::Ldap object to search domains with.
        attr_reader :ldap

        # Internal: an Array of Net::LDAP::Entry group objects to validate with.
        attr_reader :groups

        # Public: Instantiate new validator.
        #
        # - ldap:   GitHub::Ldap object
        # - groups: Array of Net::LDAP::Entry group objects
        def initialize(ldap, groups)
          @ldap   = ldap
          @groups = groups
        end

        # Abstract: Performs the membership validation check.
        #
        # Returns Boolean whether the entry's membership is validated or not.
        # def perform(entry)
        # end

        # Internal: Domains to search through.
        #
        # Returns an Array of GitHub::Ldap::Domain objects.
        def domains
          @domains ||= ldap.search_domains.map { |base| ldap.domain(base) }
        end
        private :domains
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
github-ldap-1.6.0 lib/github/ldap/membership_validators/base.rb
github-ldap-1.5.0 lib/github/ldap/membership_validators/base.rb
github-ldap-1.4.0 lib/github/ldap/membership_validators/base.rb