Class: Zimbra::DistributionList

Inherits:
Base
  • Object
show all
Defined in:
lib/zimbra/distribution_list.rb

Constant Summary

Constants inherited from Base

Base::NAMESPACES

Instance Attribute Summary collapse

Attributes inherited from Base

#zimbra_attrs

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#acls, all, class_name, create, #delete, find_by_id, find_by_name, #modify, #rename, zimbra_attrs_to_load, zimbra_attrs_to_load=, #zimbra_type

Constructor Details

#initialize(id, name, zimbra_attrs = {}, node = nil) ⇒ DistributionList



12
13
14
15
16
17
18
19
20
# File 'lib/zimbra/distribution_list.rb', line 12

def initialize(id, name, zimbra_attrs = {}, node = nil)
  super
  @cn = zimbra_attrs['cn']
  @display_name = zimbra_attrs['displayName']
  self.admin_group = zimbra_attrs['zimbraIsAdminGroup']
  @members = Zimbra::DistributionListService::Parser.get_members node
  @restricted = !acls.nil?
  @original_members = self.members.dup
end

Instance Attribute Details

#admin_console_ui_componentsObject

Returns the value of attribute admin_console_ui_components.



9
10
11
# File 'lib/zimbra/distribution_list.rb', line 9

def admin_console_ui_components
  @admin_console_ui_components
end

#admin_groupObject

Returns the value of attribute admin_group.



9
10
11
# File 'lib/zimbra/distribution_list.rb', line 9

def admin_group
  @admin_group
end

#cnObject

Returns the value of attribute cn.



10
11
12
# File 'lib/zimbra/distribution_list.rb', line 10

def cn
  @cn
end

#display_nameObject

Returns the value of attribute display_name.



10
11
12
# File 'lib/zimbra/distribution_list.rb', line 10

def display_name
  @display_name
end

#idObject

Returns the value of attribute id.



9
10
11
# File 'lib/zimbra/distribution_list.rb', line 9

def id
  @id
end

#mailObject

Returns the value of attribute mail.



10
11
12
# File 'lib/zimbra/distribution_list.rb', line 10

def mail
  @mail
end

#membersObject

Returns the value of attribute members.



10
11
12
# File 'lib/zimbra/distribution_list.rb', line 10

def members
  @members
end

#nameObject

Returns the value of attribute name.



9
10
11
# File 'lib/zimbra/distribution_list.rb', line 9

def name
  @name
end

#restrictedObject

Returns the value of attribute restricted.



10
11
12
# File 'lib/zimbra/distribution_list.rb', line 10

def restricted
  @restricted
end

Class Method Details

.acl_nameObject



4
5
6
# File 'lib/zimbra/distribution_list.rb', line 4

def acl_name
  'grp'
end

Instance Method Details

#add_alias(alias_name) ⇒ Object



55
56
57
# File 'lib/zimbra/distribution_list.rb', line 55

def add_alias(alias_name)
  DistributionListService.add_alias(self,alias_name)
end

#admin_group?Boolean



47
48
49
# File 'lib/zimbra/distribution_list.rb', line 47

def admin_group?
  @admin_group
end

#modify_members(members_group = []) ⇒ Object



26
27
28
29
30
# File 'lib/zimbra/distribution_list.rb', line 26

def modify_members(members_group = [])
  return unless members_group.any?
  self.members = members_group
  DistributionListService.modify_members(self)
end

#new_membersObject



36
37
38
# File 'lib/zimbra/distribution_list.rb', line 36

def new_members
  self.members - @original_members
end

#removed_membersObject



40
41
42
# File 'lib/zimbra/distribution_list.rb', line 40

def removed_members
  @original_members - self.members
end

#restricted?Boolean



51
52
53
# File 'lib/zimbra/distribution_list.rb', line 51

def restricted?
  @restricted
end

#saveObject



59
60
61
# File 'lib/zimbra/distribution_list.rb', line 59

def save
  DistributionListService.modify(self)
end