Class: Zimbra::BaseService

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

Overview

Doc Placeholder

Defined Under Namespace

Classes: 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

#all(class_name) ⇒ Object



79
80
81
82
83
# File 'lib/zimbra/base.rb', line 79

def all(class_name)
  request_name = "n2:GetAll#{class_name}sRequest"
  xml = invoke(request_name)
  Parser.get_all_response(class_name, xml)
end

#create(name, attributes = {}, class_name) ⇒ Object



93
94
95
96
97
98
99
100
# File 'lib/zimbra/base.rb', line 93

def create(name, attributes = {}, class_name)
  request_name = "n2:Create#{class_name}Request"
  xml = invoke(request_name) do |message|
    Builder.create(message, name, attributes)
  end
  namespace = Zimbra::Base::NAMESPACES[class_name]
  Parser.response(class_name, xml/"//n2:#{namespace}")
end

#delete(id, class_name) ⇒ Object



85
86
87
88
89
90
91
# File 'lib/zimbra/base.rb', line 85

def delete(id, class_name)
  request_name = "n2:Delete#{class_name}Request"
  xml = invoke(request_name) do |message|
    Builder.delete(message, id)
  end
  true
end

#get_by_id(id, class_name) ⇒ Object



102
103
104
105
106
107
108
109
110
# File 'lib/zimbra/base.rb', line 102

def get_by_id(id, class_name)
  request_name = "n2:Get#{class_name}Request"
  xml = invoke(request_name) do |message|
    Builder.get_by_id(message, id, class_name)
  end
  return nil if soap_fault_not_found?
  namespace = Zimbra::Base::NAMESPACES[class_name]
  Parser.response(class_name, xml/"//n2:#{namespace}")
end

#get_by_name(name, class_name) ⇒ Object



112
113
114
115
116
117
118
119
120
# File 'lib/zimbra/base.rb', line 112

def get_by_name(name, class_name)
  request_name = "n2:Get#{class_name}Request"
  xml = invoke(request_name) do |message|
    Builder.get_by_name(message, name, class_name)
  end
  return nil if soap_fault_not_found?
  namespace = Zimbra::Base::NAMESPACES[class_name]
  Parser.response(class_name, xml/"//n2:#{namespace}")
end

#modify(id, attributes = {}, class_name) ⇒ Object



122
123
124
125
126
127
128
129
# File 'lib/zimbra/base.rb', line 122

def modify(id, attributes = {}, class_name)
  request_name = "n2:Modify#{class_name}Request"
  xml = invoke(request_name) do |message|
    Builder.modify(message, id, attributes)
  end
  namespace = Zimbra::Base::NAMESPACES[class_name]
  Parser.response(class_name, xml/"//n2:#{namespace}")
end

#rename(id, newname, class_name) ⇒ Object



131
132
133
134
135
136
137
138
# File 'lib/zimbra/base.rb', line 131

def rename(id, newname, class_name)
  request_name = "n2:Rename#{class_name}Request"
  xml = invoke(request_name) do |message|
    Builder.rename(message, id, newname)
  end
  namespace = Zimbra::Base::NAMESPACES[class_name]
  Parser.response(class_name, xml/"//n2:#{namespace}")
end