Class: Zimbra::DistributionListService

Inherits:
HandsoapService show all
Defined in:
lib/zimbra/distribution_list.rb

Defined Under Namespace

Modules: Builder, Parser

Instance Method Summary collapse

Methods inherited from HandsoapService

#on_create_document, #on_response_document

Methods included from HandsoapUriOverrides

#envelope_namespace, #request_content_type, #uri

Methods included from HandsoapNamespaces

#request_namespaces, #response_namespaces

Methods included from HandsoapErrors

#http_error?, #http_not_found?, #on_after_create_http_request, #on_http_error, #report_error, #soap_fault_not_found?

Instance Method Details

#add_alias(distribution_list, alias_name) ⇒ Object



94
95
96
97
98
# File 'lib/zimbra/distribution_list.rb', line 94

def add_alias(distribution_list,alias_name)
  xml = invoke('n2:AddDistributionListAliasRequest') do |message|
    Builder.add_alias(message,distribution_list.id,alias_name)
  end
end

#add_member(distribution_list, member) ⇒ Object



82
83
84
85
86
# File 'lib/zimbra/distribution_list.rb', line 82

def add_member(distribution_list, member)
  xml = invoke("n2:AddDistributionListMemberRequest") do |message|
    Builder.add_member(message, distribution_list.id, member)
  end
end

#create(name) ⇒ Object



65
66
67
68
69
70
# File 'lib/zimbra/distribution_list.rb', line 65

def create(name)
  xml = invoke("n2:CreateDistributionListRequest") do |message|
    Builder.create(message, name)
  end
  Parser.distribution_list_response(xml/'//n2:dl')
end

#modify_members(distribution_list) ⇒ Object



72
73
74
75
76
77
78
79
80
# File 'lib/zimbra/distribution_list.rb', line 72

def modify_members(distribution_list)
  distribution_list.new_members.each do |member|
    add_member(distribution_list, member)
  end
  distribution_list.removed_members.each do |member|
    remove_member(distribution_list, member)
  end
  return true
end

#remove_member(distribution_list, member) ⇒ Object



88
89
90
91
92
# File 'lib/zimbra/distribution_list.rb', line 88

def remove_member(distribution_list, member)
  xml = invoke("n2:RemoveDistributionListMemberRequest") do |message|
    Builder.remove_member(message, distribution_list.id, member)
  end
end