Sha256: b69ecac77d4e7ba3a27cb3a011a1a7a7d86f3a77acd19eeeca465235a7563e47

Contents?: true

Size: 1.39 KB

Versions: 6

Compression:

Stored size: 1.39 KB

Contents

#-- license
#
#  Based on original code by Justin Mecham and James Hunt
#  at http://rubyforge.org/projects/activedirectory
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
#++ license

module ActiveDirectory
  module FieldType
    class MemberDnArray
      #
      # Encodes an array of objects into a list of dns
      #
      def self.encode(obj_array)
        obj_array.collect(&:dn)
      end

      #
      # Decodes a list of DNs into the objects that they are
      #
      def self.decode(dn_array)
        # Ensures that the objects are cast correctly
        users = User.find(:all, distinguishedname: dn_array)
        groups = Group.find(:all, distinguishedname: dn_array)

        arr = []
        arr << users unless users.nil?
        arr << groups unless groups.nil?

        arr.flatten
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
bsb_active_directory-99.0 lib/bsb_active_directory/field_type/member_dn_array.rb
bsb_active_directory-98.0 lib/bsb_active_directory/field_type/member_dn_array.rb
bsb_active_directory-45.0 lib/bsb_active_directory/field_type/member_dn_array.rb
bsb_active_directory-23.0 lib/bsb_active_directory/field_type/member_dn_array.rb
bsb_active_directory-22.0 lib/bsb_active_directory/field_type/member_dn_array.rb
bsb_active_directory-8.0 lib/bsb_active_directory/field_type/member_dn_array.rb