Class: ActiveDirectory::DirectoryObject

Inherits:
Object
  • Object
show all
Defined in:
lib/active_directory/directory_object.rb

Direct Known Subclasses

Group, User

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ DirectoryObject

Returns a new instance of DirectoryObject.



4
5
6
7
8
9
10
11
12
13
# File 'lib/active_directory/directory_object.rb', line 4

def initialize(options={})
  self.class.fields.each do |k, v|
    self.class.__send__(:attr_accessor, v)
    if options[k.to_sym].kind_of?(Array)
      self.__send__("#{v}=", options[k.to_sym].first)
    else
      self.__send__("#{v}=", options[k.to_sym])
    end
  end
end

Class Method Details

.fields(fields = {}) ⇒ Object



36
37
38
# File 'lib/active_directory/directory_object.rb', line 36

def self.fields(fields = {})
  fields
end

Instance Method Details

#createObject



27
28
29
30
# File 'lib/active_directory/directory_object.rb', line 27

def create
  puts build_create_data
  Client.add(@dn, build_create_data)
end

#deleteObject



32
33
34
# File 'lib/active_directory/directory_object.rb', line 32

def delete
  Client.delete(@dn)
end

#rename(new_dn) ⇒ Object



22
23
24
25
# File 'lib/active_directory/directory_object.rb', line 22

def rename(new_dn)
  Client.rename(@dn, new_dn)
  #puts "test"
end

#updateObject



15
16
17
18
19
20
# File 'lib/active_directory/directory_object.rb', line 15

def update
  self.class.fields.each do |k, v|
    # puts k, instance_variable_get("@#{v}")
    Client.update_attribute(@dn, k, instance_variable_get("@#{v}"))
  end
end