Class: Zm::Client::DistributionList

Inherits:
Base::Object show all
Includes:
HasSoapAdminConnector, RequestMethodsAdmin
Defined in:
lib/zm/client/distributionlist/distributionlist.rb

Overview

objectClass: zimbraDistributionList

Instance Attribute Summary

Attributes inherited from Base::Object

#id, #name, #parent, #token

Instance Method Summary collapse

Methods included from RequestMethodsAdmin

#build_create, #build_delete, #build_modify, #build_rename, #delete!, #modify!, #rename!, #update!

Methods included from HasSoapAdminConnector

#soap_admin_connector

Methods inherited from Base::Object

#clone, #initialize, #inspect, #instance_variables_map, #logger, #recorded?, #save!, #to_h, #to_s, #update_attribute

Constructor Details

This class inherits a constructor from Zm::Client::Base::Object

Instance Method Details

#acesObject



39
40
41
42
43
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 39

def aces
  return @aces if defined? @aces

  @aces = DistributionListAcesCollection.new(self)
end

#aliasesObject



15
16
17
18
19
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 15

def aliases
  return @aliases if defined? @aliases

  @aliases = DistributionListAliasesCollection.new(self)
end

#attrs_writeObject



84
85
86
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 84

def attrs_write
  @parent.zimbra_attributes.all_distributionlist_attrs_writable_names
end

#create!Object



45
46
47
48
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 45

def create!
  resp = sac.invoke(build_create)
  @id = resp[:CreateDistributionListResponse][:dl].first[:id]
end

#external_transport?Boolean

Returns:

  • (Boolean)


66
67
68
69
70
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 66

def external_transport?
  return false unless zimbraMailTransport

  zimbraMailTransport.start_with?(SoapConstants::SMTP)
end

#group?Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 76

def group?
  zimbraMailStatus == SoapConstants::DISABLED
end

#hide_in_gal?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 72

def hide_in_gal?
  zimbraHideInGal == SoapConstants::TRUE
end

#jsns_builderObject



88
89
90
91
92
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 88

def jsns_builder
  return @jsns_builder if defined? @jsns_builder

  @jsns_builder = DistributionListJsnsBuilder.new(self)
end

#local_transportObject



50
51
52
53
54
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 50

def local_transport
  raise Zm::Client::ZmError, 'zimbraMailHost is null' if zimbraMailHost.nil?

  "lmtp:#{zimbraMailHost}:7025"
end

#local_transport!Object



56
57
58
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 56

def local_transport!
  update!(zimbraMailTransport: local_transport)
end

#local_transport?Boolean

Returns:

  • (Boolean)


60
61
62
63
64
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 60

def local_transport?
  return false unless zimbraMailTransport

  zimbraMailTransport.start_with?(SoapConstants::LMTP)
end

#mailing_list?Boolean

Returns:

  • (Boolean)


80
81
82
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 80

def mailing_list?
  zimbraMailStatus == SoapConstants::ENABLED
end

#membersObject



21
22
23
24
25
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 21

def members
  return @members if defined? @members

  @members = DistributionListMembersCollection.new(self)
end

#membershipsObject



33
34
35
36
37
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 33

def memberships
  return @memberships if defined? @memberships

  @memberships = DlsMembershipCollection.new(self)
end

#ownersObject



27
28
29
30
31
# File 'lib/zm/client/distributionlist/distributionlist.rb', line 27

def owners
  return @owners if defined? @owners

  @owners = DistributionListOwnersCollection.new(self)
end