postini 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/Manifest.txt +12 -26
- data/README.txt +11 -4
- data/Rakefile +27 -4
- data/features/development.feature +13 -0
- data/features/step_definitions/common_steps.rb +172 -0
- data/features/support/common.rb +29 -0
- data/features/support/env.rb +6 -0
- data/features/support/matchers.rb +11 -0
- data/lib/postini/automated_batch_service.rb +464 -0
- data/lib/postini/configuration_check.rb +25 -0
- data/lib/postini/endpoint_resolver_service.rb +41 -0
- data/lib/postini/endpoints.rb +26 -0
- data/lib/postini/exceptions.rb +85 -0
- data/lib/postini.rb +74 -102
- data/script/console +1 -1
- data/script/txt2html +5 -16
- data/spec/exceptions_spec.rb +19 -0
- data/spec/postini_spec.rb +5 -38
- data/spec/rcov.opts +1 -0
- data/spec/spec_helper.rb +1 -1
- data/tasks/rspec.rake +1 -19
- data/vendor/automatedbatch.wsdl +1 -1
- metadata +21 -54
- data/config/hoe.rb +0 -76
- data/config/requirements.rb +0 -15
- data/lib/postini/api/automatedbatch/AutomatedBatch.rb +0 -1244
- data/lib/postini/api/automatedbatch/AutomatedBatchDriver.rb +0 -216
- data/lib/postini/api/automatedbatch/AutomatedBatchMappingRegistry.rb +0 -1883
- data/lib/postini/api/automatedbatch/AutomatedBatchServiceClient.rb +0 -523
- data/lib/postini/api/endpointresolver/EndpointResolver.rb +0 -121
- data/lib/postini/api/endpointresolver/EndpointResolverDriver.rb +0 -51
- data/lib/postini/api/endpointresolver/EndpointResolverMappingRegistry.rb +0 -268
- data/lib/postini/api/endpointresolver/EndpointResolverServiceClient.rb +0 -38
- data/lib/postini/api.rb +0 -8
- data/lib/postini/domain.rb +0 -72
- data/lib/postini/helpers/attributes.rb +0 -94
- data/lib/postini/helpers.rb +0 -13
- data/lib/postini/user.rb +0 -91
- data/lib/postini/users/aliases.rb +0 -55
- data/lib/postini/version.rb +0 -9
- data/spec/attribute_helper_spec.rb +0 -47
- data/spec/domain_spec.rb +0 -36
- data/spec/user_spec.rb +0 -142
- data/website/index.html +0 -89
- data/website/index.txt +0 -60
- data/website/javascripts/rounded_corners_lite.inc.js +0 -285
- data/website/spam_box.png +0 -0
- data/website/stylesheets/screen.css +0 -143
- data/website/template.html.erb +0 -56
@@ -1,51 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/EndpointResolver.rb'
|
2
|
-
require File.dirname(__FILE__) + '/EndpointResolverMappingRegistry.rb'
|
3
|
-
require 'soap/rpc/driver'
|
4
|
-
|
5
|
-
module Postini::API::EndpointResolver #:nodoc: all
|
6
|
-
|
7
|
-
class EndpointResolverPort < ::SOAP::RPC::Driver
|
8
|
-
DefaultEndpointUrl = "https://api-meta.postini.com/api2/endpointresolver"
|
9
|
-
|
10
|
-
Methods = [
|
11
|
-
[ "",
|
12
|
-
"getServiceEndpoint",
|
13
|
-
[ ["in", "parameters", ["::SOAP::SOAPElement", "http://postini.com/PSTN/SOAPAPI/v2/endpointresolver", "GetServiceEndpoint"]],
|
14
|
-
["out", "parameters", ["::SOAP::SOAPElement", "http://postini.com/PSTN/SOAPAPI/v2/endpointresolver", "GetServiceEndpointResponse"]] ],
|
15
|
-
{ :request_style => :document, :request_use => :literal,
|
16
|
-
:response_style => :document, :response_use => :literal,
|
17
|
-
:faults => {"Postini::API::EndpointResolver::UnknownInternalException"=>{:use=>"literal", :namespace=>nil, :name=>"UnknownInternalException", :encodingstyle=>"document", :ns=>"http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"}, "Postini::API::EndpointResolver::AdminBlockException"=>{:use=>"literal", :namespace=>nil, :name=>"AdminBlockException", :encodingstyle=>"document", :ns=>"http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"}, "Postini::API::EndpointResolver::MissingElementException"=>{:use=>"literal", :namespace=>nil, :name=>"MissingElementException", :encodingstyle=>"document", :ns=>"http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"}, "Postini::API::EndpointResolver::InvalidValueException"=>{:use=>"literal", :namespace=>nil, :name=>"InvalidValueException", :encodingstyle=>"document", :ns=>"http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"}, "Postini::API::EndpointResolver::UnknownEmailException"=>{:use=>"literal", :namespace=>nil, :name=>"UnknownEmailException", :encodingstyle=>"document", :ns=>"http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"}, "Postini::API::EndpointResolver::MalformedKeyException"=>{:use=>"literal", :namespace=>nil, :name=>"MalformedKeyException", :encodingstyle=>"document", :ns=>"http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"}, "Postini::API::EndpointResolver::InternalException"=>{:use=>"literal", :namespace=>nil, :name=>"InternalException", :encodingstyle=>"document", :ns=>"http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"}, "Postini::API::EndpointResolver::NoSuchKeyException"=>{:use=>"literal", :namespace=>nil, :name=>"NoSuchKeyException", :encodingstyle=>"document", :ns=>"http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"}} }
|
18
|
-
]
|
19
|
-
]
|
20
|
-
|
21
|
-
def initialize(endpoint_url = nil)
|
22
|
-
endpoint_url ||= DefaultEndpointUrl
|
23
|
-
super(endpoint_url, nil)
|
24
|
-
self.mapping_registry = EndpointResolverMappingRegistry::EncodedRegistry
|
25
|
-
self.literal_mapping_registry = EndpointResolverMappingRegistry::LiteralRegistry
|
26
|
-
init_methods
|
27
|
-
end
|
28
|
-
|
29
|
-
private
|
30
|
-
|
31
|
-
def init_methods
|
32
|
-
Methods.each do |definitions|
|
33
|
-
opt = definitions.last
|
34
|
-
if opt[:request_style] == :document
|
35
|
-
add_document_operation(*definitions)
|
36
|
-
else
|
37
|
-
add_rpc_operation(*definitions)
|
38
|
-
qname = definitions[0]
|
39
|
-
name = definitions[2]
|
40
|
-
if qname.name != name and qname.name.capitalize == name.capitalize
|
41
|
-
::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
|
42
|
-
__send__(name, *arg)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
|
51
|
-
end
|
@@ -1,268 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/EndpointResolver.rb'
|
2
|
-
require 'soap/mapping'
|
3
|
-
|
4
|
-
module Postini; module API; module EndpointResolver
|
5
|
-
|
6
|
-
module EndpointResolverMappingRegistry
|
7
|
-
EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
|
8
|
-
LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
|
9
|
-
NsEndpointresolver = "http://postini.com/PSTN/SOAPAPI/v2/endpointresolver"
|
10
|
-
|
11
|
-
EncodedRegistry.register(
|
12
|
-
:class => Postini::API::EndpointResolver::AdminBlockException,
|
13
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "AdminBlockException"),
|
14
|
-
:schema_element => [
|
15
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
16
|
-
]
|
17
|
-
)
|
18
|
-
|
19
|
-
EncodedRegistry.register(
|
20
|
-
:class => Postini::API::EndpointResolver::GetServiceEndpoint,
|
21
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "GetServiceEndpoint"),
|
22
|
-
:schema_element => [
|
23
|
-
["apiKey", ["SOAP::SOAPString", XSD::QName.new(nil, "apiKey")]],
|
24
|
-
["email", ["SOAP::SOAPString", XSD::QName.new(nil, "email")]],
|
25
|
-
["service", ["Postini::API::EndpointResolver::Service", XSD::QName.new(nil, "service")]]
|
26
|
-
]
|
27
|
-
)
|
28
|
-
|
29
|
-
EncodedRegistry.register(
|
30
|
-
:class => Postini::API::EndpointResolver::GetServiceEndpointResponse,
|
31
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "GetServiceEndpointResponse"),
|
32
|
-
:schema_element => [
|
33
|
-
["endpointURI", ["SOAP::SOAPString", XSD::QName.new(nil, "EndpointURI")], [0, 1]]
|
34
|
-
]
|
35
|
-
)
|
36
|
-
|
37
|
-
EncodedRegistry.register(
|
38
|
-
:class => Postini::API::EndpointResolver::InternalException,
|
39
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "InternalException"),
|
40
|
-
:schema_element => [
|
41
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
42
|
-
]
|
43
|
-
)
|
44
|
-
|
45
|
-
EncodedRegistry.register(
|
46
|
-
:class => Postini::API::EndpointResolver::InvalidValueException,
|
47
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "InvalidValueException"),
|
48
|
-
:schema_element => [
|
49
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
50
|
-
]
|
51
|
-
)
|
52
|
-
|
53
|
-
EncodedRegistry.register(
|
54
|
-
:class => Postini::API::EndpointResolver::MalformedKeyException,
|
55
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "MalformedKeyException"),
|
56
|
-
:schema_element => [
|
57
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
58
|
-
]
|
59
|
-
)
|
60
|
-
|
61
|
-
EncodedRegistry.register(
|
62
|
-
:class => Postini::API::EndpointResolver::MissingElementException,
|
63
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "MissingElementException"),
|
64
|
-
:schema_element => [
|
65
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
66
|
-
]
|
67
|
-
)
|
68
|
-
|
69
|
-
EncodedRegistry.register(
|
70
|
-
:class => Postini::API::EndpointResolver::NoSuchKeyException,
|
71
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "NoSuchKeyException"),
|
72
|
-
:schema_element => [
|
73
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
74
|
-
]
|
75
|
-
)
|
76
|
-
|
77
|
-
EncodedRegistry.register(
|
78
|
-
:class => Postini::API::EndpointResolver::UnknownEmailException,
|
79
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "UnknownEmailException"),
|
80
|
-
:schema_element => [
|
81
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
82
|
-
]
|
83
|
-
)
|
84
|
-
|
85
|
-
EncodedRegistry.register(
|
86
|
-
:class => Postini::API::EndpointResolver::UnknownInternalException,
|
87
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "UnknownInternalException"),
|
88
|
-
:schema_element => [
|
89
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
90
|
-
]
|
91
|
-
)
|
92
|
-
|
93
|
-
EncodedRegistry.register(
|
94
|
-
:class => Postini::API::EndpointResolver::Service,
|
95
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "service")
|
96
|
-
)
|
97
|
-
|
98
|
-
LiteralRegistry.register(
|
99
|
-
:class => Postini::API::EndpointResolver::AdminBlockException,
|
100
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "AdminBlockException"),
|
101
|
-
:schema_element => [
|
102
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
103
|
-
]
|
104
|
-
)
|
105
|
-
|
106
|
-
LiteralRegistry.register(
|
107
|
-
:class => Postini::API::EndpointResolver::GetServiceEndpoint,
|
108
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "GetServiceEndpoint"),
|
109
|
-
:schema_element => [
|
110
|
-
["apiKey", ["SOAP::SOAPString", XSD::QName.new(nil, "apiKey")]],
|
111
|
-
["email", ["SOAP::SOAPString", XSD::QName.new(nil, "email")]],
|
112
|
-
["service", ["Postini::API::EndpointResolver::Service", XSD::QName.new(nil, "service")]]
|
113
|
-
]
|
114
|
-
)
|
115
|
-
|
116
|
-
LiteralRegistry.register(
|
117
|
-
:class => Postini::API::EndpointResolver::GetServiceEndpointResponse,
|
118
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "GetServiceEndpointResponse"),
|
119
|
-
:schema_element => [
|
120
|
-
["endpointURI", ["SOAP::SOAPString", XSD::QName.new(nil, "EndpointURI")], [0, 1]]
|
121
|
-
]
|
122
|
-
)
|
123
|
-
|
124
|
-
LiteralRegistry.register(
|
125
|
-
:class => Postini::API::EndpointResolver::InternalException,
|
126
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "InternalException"),
|
127
|
-
:schema_element => [
|
128
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
129
|
-
]
|
130
|
-
)
|
131
|
-
|
132
|
-
LiteralRegistry.register(
|
133
|
-
:class => Postini::API::EndpointResolver::InvalidValueException,
|
134
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "InvalidValueException"),
|
135
|
-
:schema_element => [
|
136
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
137
|
-
]
|
138
|
-
)
|
139
|
-
|
140
|
-
LiteralRegistry.register(
|
141
|
-
:class => Postini::API::EndpointResolver::MalformedKeyException,
|
142
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "MalformedKeyException"),
|
143
|
-
:schema_element => [
|
144
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
145
|
-
]
|
146
|
-
)
|
147
|
-
|
148
|
-
LiteralRegistry.register(
|
149
|
-
:class => Postini::API::EndpointResolver::MissingElementException,
|
150
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "MissingElementException"),
|
151
|
-
:schema_element => [
|
152
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
153
|
-
]
|
154
|
-
)
|
155
|
-
|
156
|
-
LiteralRegistry.register(
|
157
|
-
:class => Postini::API::EndpointResolver::NoSuchKeyException,
|
158
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "NoSuchKeyException"),
|
159
|
-
:schema_element => [
|
160
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
161
|
-
]
|
162
|
-
)
|
163
|
-
|
164
|
-
LiteralRegistry.register(
|
165
|
-
:class => Postini::API::EndpointResolver::UnknownEmailException,
|
166
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "UnknownEmailException"),
|
167
|
-
:schema_element => [
|
168
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
169
|
-
]
|
170
|
-
)
|
171
|
-
|
172
|
-
LiteralRegistry.register(
|
173
|
-
:class => Postini::API::EndpointResolver::UnknownInternalException,
|
174
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "UnknownInternalException"),
|
175
|
-
:schema_element => [
|
176
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
177
|
-
]
|
178
|
-
)
|
179
|
-
|
180
|
-
LiteralRegistry.register(
|
181
|
-
:class => Postini::API::EndpointResolver::Service,
|
182
|
-
:schema_type => XSD::QName.new(NsEndpointresolver, "service")
|
183
|
-
)
|
184
|
-
|
185
|
-
LiteralRegistry.register(
|
186
|
-
:class => Postini::API::EndpointResolver::AdminBlockException,
|
187
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "AdminBlockException"),
|
188
|
-
:schema_element => [
|
189
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
190
|
-
]
|
191
|
-
)
|
192
|
-
|
193
|
-
LiteralRegistry.register(
|
194
|
-
:class => Postini::API::EndpointResolver::GetServiceEndpoint,
|
195
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "GetServiceEndpoint"),
|
196
|
-
:schema_element => [
|
197
|
-
["apiKey", ["SOAP::SOAPString", XSD::QName.new(nil, "apiKey")]],
|
198
|
-
["email", ["SOAP::SOAPString", XSD::QName.new(nil, "email")]],
|
199
|
-
["service", ["Postini::API::EndpointResolver::Service", XSD::QName.new(nil, "service")]]
|
200
|
-
]
|
201
|
-
)
|
202
|
-
|
203
|
-
LiteralRegistry.register(
|
204
|
-
:class => Postini::API::EndpointResolver::GetServiceEndpointResponse,
|
205
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "GetServiceEndpointResponse"),
|
206
|
-
:schema_element => [
|
207
|
-
["endpointURI", ["SOAP::SOAPString", XSD::QName.new(nil, "EndpointURI")], [0, 1]]
|
208
|
-
]
|
209
|
-
)
|
210
|
-
|
211
|
-
LiteralRegistry.register(
|
212
|
-
:class => Postini::API::EndpointResolver::InternalException,
|
213
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "InternalException"),
|
214
|
-
:schema_element => [
|
215
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
216
|
-
]
|
217
|
-
)
|
218
|
-
|
219
|
-
LiteralRegistry.register(
|
220
|
-
:class => Postini::API::EndpointResolver::InvalidValueException,
|
221
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "InvalidValueException"),
|
222
|
-
:schema_element => [
|
223
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
224
|
-
]
|
225
|
-
)
|
226
|
-
|
227
|
-
LiteralRegistry.register(
|
228
|
-
:class => Postini::API::EndpointResolver::MalformedKeyException,
|
229
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "MalformedKeyException"),
|
230
|
-
:schema_element => [
|
231
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
232
|
-
]
|
233
|
-
)
|
234
|
-
|
235
|
-
LiteralRegistry.register(
|
236
|
-
:class => Postini::API::EndpointResolver::MissingElementException,
|
237
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "MissingElementException"),
|
238
|
-
:schema_element => [
|
239
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
240
|
-
]
|
241
|
-
)
|
242
|
-
|
243
|
-
LiteralRegistry.register(
|
244
|
-
:class => Postini::API::EndpointResolver::NoSuchKeyException,
|
245
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "NoSuchKeyException"),
|
246
|
-
:schema_element => [
|
247
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
248
|
-
]
|
249
|
-
)
|
250
|
-
|
251
|
-
LiteralRegistry.register(
|
252
|
-
:class => Postini::API::EndpointResolver::UnknownEmailException,
|
253
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "UnknownEmailException"),
|
254
|
-
:schema_element => [
|
255
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
256
|
-
]
|
257
|
-
)
|
258
|
-
|
259
|
-
LiteralRegistry.register(
|
260
|
-
:class => Postini::API::EndpointResolver::UnknownInternalException,
|
261
|
-
:schema_name => XSD::QName.new(NsEndpointresolver, "UnknownInternalException"),
|
262
|
-
:schema_element => [
|
263
|
-
["message", ["SOAP::SOAPString", XSD::QName.new(nil, "message")]]
|
264
|
-
]
|
265
|
-
)
|
266
|
-
end
|
267
|
-
|
268
|
-
end; end; end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require File.dirname(__FILE__) + '/EndpointResolverDriver.rb'
|
3
|
-
|
4
|
-
|
5
|
-
module Postini::API::EndpointResolver
|
6
|
-
|
7
|
-
endpoint_url = ARGV.shift
|
8
|
-
obj = EndpointResolverPort.new(endpoint_url)
|
9
|
-
|
10
|
-
# run ruby with -d to see SOAP wiredumps.
|
11
|
-
obj.wiredump_dev = STDERR if $DEBUG
|
12
|
-
|
13
|
-
# SYNOPSIS
|
14
|
-
# GetServiceEndpoint(parameters)
|
15
|
-
#
|
16
|
-
# ARGS
|
17
|
-
# parameters GetServiceEndpoint - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}GetServiceEndpoint
|
18
|
-
#
|
19
|
-
# RETURNS
|
20
|
-
# parameters GetServiceEndpointResponse - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}GetServiceEndpointResponse
|
21
|
-
#
|
22
|
-
# RAISES
|
23
|
-
# fault AdminBlockException - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}AdminBlockException
|
24
|
-
# fault InternalException - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}InternalException
|
25
|
-
# fault InvalidValueException - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}InvalidValueException
|
26
|
-
# fault MalformedKeyException - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}MalformedKeyException
|
27
|
-
# fault MissingElementException - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}MissingElementException
|
28
|
-
# fault NoSuchKeyException - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}NoSuchKeyException
|
29
|
-
# fault UnknownEmailException - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}UnknownEmailException
|
30
|
-
# fault UnknownInternalException - {http://postini.com/PSTN/SOAPAPI/v2/endpointresolver}UnknownInternalException
|
31
|
-
#
|
32
|
-
parameters = nil
|
33
|
-
puts obj.getServiceEndpoint(parameters)
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
end
|
data/lib/postini/api.rb
DELETED
data/lib/postini/domain.rb
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
require 'postini/api/automatedbatch/AutomatedBatchDriver'
|
2
|
-
|
3
|
-
module Postini
|
4
|
-
|
5
|
-
# Represents the functions to perform on a domain
|
6
|
-
#
|
7
|
-
# TODO: Definitely improve this documentation
|
8
|
-
class Domain
|
9
|
-
|
10
|
-
attr_accessor :id, :name, :org, :substrip
|
11
|
-
|
12
|
-
class << self
|
13
|
-
|
14
|
-
# Return an instance of #Domain with all the attributes populated
|
15
|
-
def find( domain )
|
16
|
-
remote = automated_batch_port
|
17
|
-
request = Postini::API::AutomatedBatch::Displaydomain.new( Postini.auth, domain )
|
18
|
-
response = remote.displaydomain( request )
|
19
|
-
domain_record = response.domainRecord
|
20
|
-
|
21
|
-
# Don't give back false positives
|
22
|
-
if domain_record.domainid == ""
|
23
|
-
return nil
|
24
|
-
end
|
25
|
-
|
26
|
-
new(
|
27
|
-
:name => domain_record.domainname,
|
28
|
-
:id => domain_record.domainid,
|
29
|
-
:org => domain_record.org,
|
30
|
-
:substrip => domain_record.substrip
|
31
|
-
)
|
32
|
-
end
|
33
|
-
|
34
|
-
# Return a remote port with debug enabled if required
|
35
|
-
def automated_batch_port #:nodoc:
|
36
|
-
remote = Postini::API::AutomatedBatch::AutomatedBatchPort.new( Postini.endpoint_uri )
|
37
|
-
remote.wiredump_dev = Postini.soap4r_wiredump_dev if Postini.soap4r_wiredump?
|
38
|
-
remote
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
# Setup a new instance with the combination of attributes set
|
43
|
-
def initialize( attributes = {} )
|
44
|
-
attributes.each_pair do |k,v|
|
45
|
-
instance_variable_set "@#{k.to_s}", v
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def new?
|
50
|
-
@id.nil?
|
51
|
-
end
|
52
|
-
|
53
|
-
# Create a new domain in the system. Requires +name+ and +org+ to be set.
|
54
|
-
# This method will through a SOAP exception if the domain could not be
|
55
|
-
# added.
|
56
|
-
def create
|
57
|
-
return false unless new?
|
58
|
-
|
59
|
-
# TODO: Add improved validations here
|
60
|
-
return false if @name.nil? || @org.nil?
|
61
|
-
|
62
|
-
remote = self.class.automated_batch_port
|
63
|
-
args = Postini::API::AutomatedBatch::Adddomainargs.new( @name )
|
64
|
-
request = Postini::API::AutomatedBatch::Adddomain.new(
|
65
|
-
Postini.auth, @org, args
|
66
|
-
)
|
67
|
-
remote.adddomain( request )
|
68
|
-
end
|
69
|
-
|
70
|
-
end
|
71
|
-
|
72
|
-
end
|
@@ -1,94 +0,0 @@
|
|
1
|
-
module Postini
|
2
|
-
module Helpers
|
3
|
-
# Provide our classes with ActiveRecord like attribute handling, mapping
|
4
|
-
# plain text to native Ruby objects (and vice versa).
|
5
|
-
module Attributes
|
6
|
-
|
7
|
-
def self.included( base ) #:nodoc:
|
8
|
-
base.extend( ClassMethods )
|
9
|
-
base.send( :include, InstanceMethods )
|
10
|
-
end
|
11
|
-
|
12
|
-
module ClassMethods
|
13
|
-
|
14
|
-
def self.extended( base )
|
15
|
-
base.send( :class_inheritable_hash, :attributes )
|
16
|
-
base.attributes = {}
|
17
|
-
end
|
18
|
-
|
19
|
-
# Specifies the list of attributes for the class, together with an
|
20
|
-
# optional type to map them to.
|
21
|
-
#
|
22
|
-
# has_attributes :address
|
23
|
-
# has_attributes :active, :welcome, :type => :boolean
|
24
|
-
#
|
25
|
-
def has_attributes( *args )
|
26
|
-
opts = args.extract_options!
|
27
|
-
opts[:type] ||= :string
|
28
|
-
|
29
|
-
args.each do |attr|
|
30
|
-
register_attribute( attr => opts[:type] )
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
# Specify a single attribute together with its type
|
35
|
-
def has_attribute( attr )
|
36
|
-
raise "Invalid parameter, hash expected" unless attr.is_a?( Hash ) &&
|
37
|
-
attr.keys.size == 1
|
38
|
-
|
39
|
-
register_attribute( attr )
|
40
|
-
end
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
# Register an attribute in our internal list
|
45
|
-
def register_attribute( attr )
|
46
|
-
self.attributes.merge!( attr.stringify_keys! )
|
47
|
-
|
48
|
-
# :id needs to be handled specialy
|
49
|
-
if attr.keys.first == "id"
|
50
|
-
class_eval <<-EOF
|
51
|
-
def id
|
52
|
-
@attributes[ "id" ]
|
53
|
-
end
|
54
|
-
def id=( value )
|
55
|
-
@attributes[ "id" ] = value
|
56
|
-
end
|
57
|
-
EOF
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
62
|
-
|
63
|
-
module InstanceMethods
|
64
|
-
|
65
|
-
# Setup a new instance with all the attributes configured
|
66
|
-
def initialize( attributes = {} )
|
67
|
-
validate_attributes!( attributes )
|
68
|
-
|
69
|
-
@attributes = attributes.stringify_keys
|
70
|
-
end
|
71
|
-
|
72
|
-
def method_missing( method_name, *args )
|
73
|
-
method_name.to_s =~ /^([^=]+)(\=)?$/
|
74
|
-
key = $1.to_s
|
75
|
-
if self.class.attributes.has_key?( key )
|
76
|
-
if $2
|
77
|
-
@attributes[ key ] = *args
|
78
|
-
else
|
79
|
-
@attributes[ key ]
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
private
|
85
|
-
|
86
|
-
def validate_attributes!( attrs = {} )
|
87
|
-
attrs.assert_valid_keys( self.class.attributes.symbolize_keys.keys )
|
88
|
-
end
|
89
|
-
|
90
|
-
end
|
91
|
-
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
data/lib/postini/helpers.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
require 'activesupport'
|
2
|
-
require 'postini/helpers/attributes'
|
3
|
-
|
4
|
-
module Postini
|
5
|
-
|
6
|
-
# A collection of helpers to implement various needed convenience methods
|
7
|
-
# to our other classes and to keep things DRY. The behaviour is very much
|
8
|
-
# based on, and inspired by, ActiveRecord and makes excessive use of
|
9
|
-
# ActiveSupport to reach its goals.
|
10
|
-
module Helpers
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
data/lib/postini/user.rb
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
require 'postini/api/automatedbatch/AutomatedBatchDriver'
|
2
|
-
require 'postini/users/aliases'
|
3
|
-
|
4
|
-
module Postini
|
5
|
-
|
6
|
-
# This class represents a user in the Postini systems.
|
7
|
-
#
|
8
|
-
# TODO: Expand documentation
|
9
|
-
class User
|
10
|
-
|
11
|
-
include Helpers::Attributes
|
12
|
-
|
13
|
-
has_attributes :id, :message_count, :message_limit, :orgid, :create_method,
|
14
|
-
:virus_notify, :type => :int
|
15
|
-
has_attributes :active, :junkmail_filter, :message_encryption,
|
16
|
-
:message_limited, :virus_state, :weblocked, :welcome_count,
|
17
|
-
:wireless_state, :type => :bool
|
18
|
-
has_attributes :address, :notice_address, :initial_password, :password,
|
19
|
-
:lang_locale, :timezone, :orgtag, :ext_encrypt
|
20
|
-
has_attributes :approved_recipients, :approved_senders, :blocked_senders,
|
21
|
-
:type => :array
|
22
|
-
has_attributes :created_date, :lastmod_date, :type => :timestamp
|
23
|
-
has_attributes :filter_adult, :filter_bulk, :filter_getrich,
|
24
|
-
:filter_offers, :filter_racial, :type => :filter
|
25
|
-
|
26
|
-
include Users::Aliases
|
27
|
-
|
28
|
-
class << self
|
29
|
-
|
30
|
-
# Return a new instance of the user
|
31
|
-
# TODO: Make this take various options just like ActiveRecord
|
32
|
-
def find( user )
|
33
|
-
remote = automated_batch_port( user )
|
34
|
-
request = Postini::API::AutomatedBatch::Displayuser.new( Postini.auth, user )
|
35
|
-
response = remote.displayuser( request )
|
36
|
-
user_record = response.userRecord
|
37
|
-
|
38
|
-
attributes = {}
|
39
|
-
user_record.instance_variables.each do |var|
|
40
|
-
attributes[ var.sub('@','').to_sym ] = user_record.instance_variable_get(var)
|
41
|
-
end
|
42
|
-
|
43
|
-
# fix id
|
44
|
-
attributes[:id] = attributes.delete(:user_id)
|
45
|
-
|
46
|
-
new( attributes )
|
47
|
-
end
|
48
|
-
|
49
|
-
# Permanently remove the user from Postini
|
50
|
-
def destroy( address )
|
51
|
-
remote = automated_batch_port( address )
|
52
|
-
request = Postini::API::AutomatedBatch::Deleteuser.new( Postini.auth, address )
|
53
|
-
remote.deleteuser( request )
|
54
|
-
end
|
55
|
-
|
56
|
-
# Return a remote port for the address, with debug enabled if required
|
57
|
-
def automated_batch_port( address = nil ) #:nodoc:
|
58
|
-
remote = Postini::API::AutomatedBatch::AutomatedBatchPort.new( Postini.endpoint_uri( address ) )
|
59
|
-
remote.wiredump_dev = Postini.soap4r_wiredump_dev if Postini.soap4r_wiredump?
|
60
|
-
remote
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
def new?
|
66
|
-
self.id.nil?
|
67
|
-
end
|
68
|
-
|
69
|
-
# Create the new user. Pass +welcome+ as '1' to have a welcome mail sent
|
70
|
-
# to the user. The org for the user will be pulled from the org attribute
|
71
|
-
def create( welcome = 0 )
|
72
|
-
return false unless new?
|
73
|
-
|
74
|
-
# TODO: Add missing validations here
|
75
|
-
return false if self.address.nil? || self.orgid.nil?
|
76
|
-
|
77
|
-
remote = self.class.automated_batch_port
|
78
|
-
args = Postini::API::AutomatedBatch::Adduserargs.new( self.orgid, welcome )
|
79
|
-
request = Postini::API::AutomatedBatch::Adduser.new( Postini.auth, self.address, args )
|
80
|
-
remote.adduser( request )
|
81
|
-
end
|
82
|
-
|
83
|
-
# Remove the user from Postini
|
84
|
-
def destroy
|
85
|
-
return false if new?
|
86
|
-
|
87
|
-
self.class.destroy( self.address )
|
88
|
-
end
|
89
|
-
|
90
|
-
end
|
91
|
-
end
|