socketlabs-injectionapi 0.0.1.pre.Dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +50 -0
- data/.idea/inspectionProfiles/Project_Default.xml +7 -0
- data/.idea/misc.xml +7 -0
- data/.idea/modules.xml +8 -0
- data/.idea/socketlabs-ruby.iml +12 -0
- data/.idea/vcs.xml +7 -0
- data/.idea/workspace.xml +452 -0
- data/LICENSE.MD +21 -0
- data/README.MD +212 -0
- data/gemfile +3 -0
- data/gemfile.lock +17 -0
- data/lib/socketlabs/injectionapi/address_result.rb +41 -0
- data/lib/socketlabs/injectionapi/core/http_request.rb +135 -0
- data/lib/socketlabs/injectionapi/core/http_response.rb +27 -0
- data/lib/socketlabs/injectionapi/core/injection_request_factory.rb +300 -0
- data/lib/socketlabs/injectionapi/core/injection_response_parser.rb +130 -0
- data/lib/socketlabs/injectionapi/core/send_validator.rb +387 -0
- data/lib/socketlabs/injectionapi/core/serialization/address_json.rb +48 -0
- data/lib/socketlabs/injectionapi/core/serialization/attachment_json.rb +60 -0
- data/lib/socketlabs/injectionapi/core/serialization/custom_header_json.rb +40 -0
- data/lib/socketlabs/injectionapi/core/serialization/injection_request.rb +56 -0
- data/lib/socketlabs/injectionapi/core/serialization/injection_response_dto.rb +77 -0
- data/lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb +103 -0
- data/lib/socketlabs/injectionapi/core/serialization/merge_field_json.rb +40 -0
- data/lib/socketlabs/injectionapi/core/serialization/message_json.rb +250 -0
- data/lib/socketlabs/injectionapi/core/serialization/message_result_dto.rb +66 -0
- data/lib/socketlabs/injectionapi/core/string_extension.rb +74 -0
- data/lib/socketlabs/injectionapi/message/attachment.rb +146 -0
- data/lib/socketlabs/injectionapi/message/basic_message.rb +136 -0
- data/lib/socketlabs/injectionapi/message/bulk_message.rb +103 -0
- data/lib/socketlabs/injectionapi/message/bulk_recipient.rb +87 -0
- data/lib/socketlabs/injectionapi/message/custom_header.rb +53 -0
- data/lib/socketlabs/injectionapi/message/email_address.rb +52 -0
- data/lib/socketlabs/injectionapi/message/merge_data.rb +50 -0
- data/lib/socketlabs/injectionapi/message/message_base.rb +167 -0
- data/lib/socketlabs/injectionapi/proxy.rb +29 -0
- data/lib/socketlabs/injectionapi/send_response.rb +63 -0
- data/lib/socketlabs/injectionapi/send_result.rb +318 -0
- data/lib/socketlabs/injectionapi/socketlabsclient.rb +123 -0
- data/lib/socketlabs/version.rb +5 -0
- data/lib/socketlabs-injectionapi.rb +27 -0
- data/socketlabs-injectionapi.gemspec +25 -0
- metadata +85 -0
@@ -0,0 +1,63 @@
|
|
1
|
+
module SocketLabs
|
2
|
+
module InjectionApi
|
3
|
+
# The response of an SocketLabsClient send request.
|
4
|
+
class SendResponse
|
5
|
+
|
6
|
+
# The result [SendResult] of the SocketLabsClient send request.
|
7
|
+
attr_accessor :result
|
8
|
+
# The unique key generated by the Injection API if an unexpected error occurs during the SocketLabsClient
|
9
|
+
# send request. This unique key can be used by SocketLabs support to troubleshoot the issue.
|
10
|
+
attr_accessor :transaction_receipt
|
11
|
+
# A Array of AddressResult objects that contain the status of each address that failed.
|
12
|
+
# If no messages failed this array is empty.
|
13
|
+
attr_accessor :address_results
|
14
|
+
|
15
|
+
def initialize (
|
16
|
+
result = nil,
|
17
|
+
transaction_receipt= nil,
|
18
|
+
address_results= nil,
|
19
|
+
response_message= nil
|
20
|
+
)
|
21
|
+
@result = result
|
22
|
+
@transaction_receipt = transaction_receipt
|
23
|
+
@address_results = []
|
24
|
+
|
25
|
+
unless address_results.nil?
|
26
|
+
@address_results = address_results
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
# A message detailing why the SocketLabsClient send request failed.
|
32
|
+
def response_message
|
33
|
+
unless @result.nil?
|
34
|
+
@result[:message]
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# Represents the SendResponse as a str.
|
39
|
+
def to_s
|
40
|
+
"#{@result}: #{response_message}"
|
41
|
+
end
|
42
|
+
|
43
|
+
# build json hash for SendResponse
|
44
|
+
def to_json(*)
|
45
|
+
json = {
|
46
|
+
:result => @result.to_json,
|
47
|
+
:transactionReceipt => @transaction_receipt,
|
48
|
+
:responseMessage => response_message
|
49
|
+
}
|
50
|
+
if @address_results.length > 0
|
51
|
+
e = Array.new
|
52
|
+
@address_results.each do |value|
|
53
|
+
e.push(value.to_json)
|
54
|
+
end
|
55
|
+
json[:messageResults] = e
|
56
|
+
end
|
57
|
+
json.to_json
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,318 @@
|
|
1
|
+
|
2
|
+
module SocketLabs
|
3
|
+
module InjectionApi
|
4
|
+
|
5
|
+
class SendResult
|
6
|
+
# Send Result hash
|
7
|
+
def self.enum
|
8
|
+
{
|
9
|
+
# An error has occurred that was unforeseen
|
10
|
+
"UnknownError" => {
|
11
|
+
:name => "UnknownError",
|
12
|
+
:value =>0,
|
13
|
+
:message =>"An error has occurred that was unforeseen"
|
14
|
+
},
|
15
|
+
|
16
|
+
# A timeout occurred sending the message
|
17
|
+
"Timeout" =>
|
18
|
+
{
|
19
|
+
:name =>"Timeout",
|
20
|
+
:value =>1,
|
21
|
+
:message =>"A timeout occurred sending the message"
|
22
|
+
},
|
23
|
+
|
24
|
+
# Successful send of message
|
25
|
+
"Success" =>
|
26
|
+
{
|
27
|
+
:name =>"Success",
|
28
|
+
:value =>2,
|
29
|
+
:message =>"Successful send of message"
|
30
|
+
},
|
31
|
+
|
32
|
+
# Warnings were found while sending the message
|
33
|
+
"Warning" =>
|
34
|
+
{
|
35
|
+
:name =>"Warning",
|
36
|
+
:value =>3,
|
37
|
+
:message =>"Warnings were found while sending the message"
|
38
|
+
},
|
39
|
+
|
40
|
+
# Internal server error
|
41
|
+
"InternalError" =>
|
42
|
+
{
|
43
|
+
:name =>"InternalError",
|
44
|
+
:value =>4,
|
45
|
+
:message =>"Internal server error"
|
46
|
+
},
|
47
|
+
|
48
|
+
# Message has exceeded the size limit
|
49
|
+
"MessageTooLarge" =>
|
50
|
+
{
|
51
|
+
:name =>"MessageTooLarge",
|
52
|
+
:value =>5,
|
53
|
+
:message =>"Message has exceeded the size limit"
|
54
|
+
},
|
55
|
+
|
56
|
+
# Message exceeded the maximum allowed recipient count
|
57
|
+
"TooManyRecipients" =>
|
58
|
+
{
|
59
|
+
:name =>"TooManyRecipients",
|
60
|
+
:value =>6,
|
61
|
+
:message =>"Message exceeded the maximum allowed recipient count"
|
62
|
+
},
|
63
|
+
|
64
|
+
# The message request contained invalid data
|
65
|
+
"InvalidData" =>
|
66
|
+
{
|
67
|
+
:name =>"InvalidData",
|
68
|
+
:value =>7,
|
69
|
+
:message =>"The message request contained invalid data"
|
70
|
+
},
|
71
|
+
|
72
|
+
# The account is over the send quota, rate limit exceeded
|
73
|
+
"OverQuota" =>
|
74
|
+
{
|
75
|
+
:name =>"OverQuota",
|
76
|
+
:value =>8,
|
77
|
+
:message =>"The account is over the send quota, rate limit exceeded"
|
78
|
+
},
|
79
|
+
|
80
|
+
# Too many errors occurred sending the message
|
81
|
+
"TooManyErrors" =>
|
82
|
+
{
|
83
|
+
:name =>"TooManyErrors",
|
84
|
+
:value =>9,
|
85
|
+
:message =>"Too many errors occurred sending the message"
|
86
|
+
},
|
87
|
+
|
88
|
+
# The serverId and apiKey combination is not valid
|
89
|
+
"InvalidAuthentication" =>
|
90
|
+
{
|
91
|
+
:name =>"InvalidAuthentication",
|
92
|
+
:value =>10,
|
93
|
+
:message =>"The serverId and apiKey combination is not valid"
|
94
|
+
},
|
95
|
+
|
96
|
+
# The account has been disabled
|
97
|
+
"AccountDisabled" =>
|
98
|
+
{
|
99
|
+
:name =>"AccountDisabled",
|
100
|
+
:value =>11,
|
101
|
+
:message =>"The account has been disabled"
|
102
|
+
},
|
103
|
+
|
104
|
+
# Too many messages were found on the request
|
105
|
+
"TooManyMessages" =>
|
106
|
+
{
|
107
|
+
:name =>"TooManyMessages",
|
108
|
+
:value =>12,
|
109
|
+
:message =>"Too many messages were found on the request"
|
110
|
+
},
|
111
|
+
|
112
|
+
# No valid recipients were found on the message
|
113
|
+
"NoValidRecipients" =>
|
114
|
+
{
|
115
|
+
:name =>"NoValidRecipients",
|
116
|
+
:value =>13,
|
117
|
+
:message =>"No valid recipients were found on the message"
|
118
|
+
},
|
119
|
+
|
120
|
+
# An invalid recipient address was found on the message
|
121
|
+
"InvalidAddress" =>
|
122
|
+
{
|
123
|
+
:name =>"InvalidAddress",
|
124
|
+
:value =>14,
|
125
|
+
:message =>"An invalid recipient address was found on the message"
|
126
|
+
},
|
127
|
+
|
128
|
+
# An invalid attachment was found on the message
|
129
|
+
"InvalidAttachment" =>
|
130
|
+
{
|
131
|
+
:name =>"InvalidAttachment",
|
132
|
+
:value =>15,
|
133
|
+
:message =>"An invalid attachment was found on the message"
|
134
|
+
},
|
135
|
+
|
136
|
+
# No messages were found on the request
|
137
|
+
"NoMessages" =>
|
138
|
+
{
|
139
|
+
:name =>"NoMessages",
|
140
|
+
:value =>16,
|
141
|
+
:message =>"No messages were found on the request"
|
142
|
+
},
|
143
|
+
|
144
|
+
# No message content was found on the request
|
145
|
+
"EmptyMessage" =>
|
146
|
+
{
|
147
|
+
:name =>"EmptyMessage",
|
148
|
+
:value =>17,
|
149
|
+
:message =>"No message content was found on the request"
|
150
|
+
},
|
151
|
+
|
152
|
+
# No subject was found on the message
|
153
|
+
"EmptySubject" =>
|
154
|
+
{
|
155
|
+
:name =>"EmptySubject",
|
156
|
+
:value =>18,
|
157
|
+
:message =>"No subject was found on the message"
|
158
|
+
},
|
159
|
+
|
160
|
+
# An invalid From address was found on the message
|
161
|
+
"InvalidFromAddress" =>
|
162
|
+
{
|
163
|
+
:name =>"InvalidFromAddress",
|
164
|
+
:value =>19,
|
165
|
+
:message =>"An invalid From address was found on the message"
|
166
|
+
},
|
167
|
+
|
168
|
+
# No To addresses were found on the message
|
169
|
+
"EmptyToAddress" =>
|
170
|
+
{
|
171
|
+
:name =>"EmptyToAddress",
|
172
|
+
:value =>20,
|
173
|
+
:message =>"No To addresses were found on the message"
|
174
|
+
},
|
175
|
+
|
176
|
+
# No valid message body was found on the message
|
177
|
+
"NoValidBodyParts" =>
|
178
|
+
{
|
179
|
+
:name =>"NoValidBodyParts",
|
180
|
+
:value =>21,
|
181
|
+
:message =>"No valid message body was found on the message"
|
182
|
+
},
|
183
|
+
|
184
|
+
# An invalid templateId was found on the message
|
185
|
+
"InvalidTemplateId" =>
|
186
|
+
{
|
187
|
+
:name =>"InvalidTemplateId",
|
188
|
+
:value =>22,
|
189
|
+
:message =>"An invalid templateId was found on the message"
|
190
|
+
},
|
191
|
+
|
192
|
+
# The specified templateId has no content associated with it
|
193
|
+
"TemplateHasNoContent" =>
|
194
|
+
{
|
195
|
+
:name =>"TemplateHasNoContent",
|
196
|
+
:value =>23,
|
197
|
+
:message =>"The specified templateId has no content associated with it"
|
198
|
+
},
|
199
|
+
|
200
|
+
# A conflict occurred due to the use of templateId and HtmlBody or TextBody
|
201
|
+
"MessageBodyConflict" =>
|
202
|
+
{
|
203
|
+
:name =>"MessageBodyConflict",
|
204
|
+
:value =>24,
|
205
|
+
:message =>"A conflict occurred due to the use of templateId and HtmlBody or TextBody"
|
206
|
+
},
|
207
|
+
|
208
|
+
# Invalid merge data was found on the message
|
209
|
+
"InvalidMergeData" =>
|
210
|
+
{
|
211
|
+
:name =>"InvalidMergeData",
|
212
|
+
:value =>25,
|
213
|
+
:message =>"Invalid merge data was found on the message"
|
214
|
+
},
|
215
|
+
|
216
|
+
# SDK Validation Error: Authentication validation failed, missing or invalid ServerId or ApiKey
|
217
|
+
"AuthenticationValidationFailed" =>
|
218
|
+
{
|
219
|
+
:name =>"AuthenticationValidationFailed",
|
220
|
+
:value =>26,
|
221
|
+
:message =>"SDK Validation Error: Authentication validation failed, missing or invalid ServerId or ApiKey"
|
222
|
+
},
|
223
|
+
|
224
|
+
# SDK Validation Error: Message exceeded maximum recipient count
|
225
|
+
"RecipientValidationMaxExceeded" =>
|
226
|
+
{
|
227
|
+
:name =>"RecipientValidationMaxExceeded",
|
228
|
+
:value =>27,
|
229
|
+
:message =>"SDK Validation Error: Message exceeded maximum recipient count"
|
230
|
+
},
|
231
|
+
|
232
|
+
# SDK Validation Error: No recipients were found in the message
|
233
|
+
"RecipientValidationNoneInMessage" =>
|
234
|
+
{
|
235
|
+
:name =>"RecipientValidationNoneInMessage",
|
236
|
+
:value =>28,
|
237
|
+
:message =>"SDK Validation Error: No recipients were found in the message"
|
238
|
+
},
|
239
|
+
|
240
|
+
# SDK Validation Error: Message is missing From address
|
241
|
+
"EmailAddressValidationMissingFrom" =>
|
242
|
+
{
|
243
|
+
:name =>"EmailAddressValidationMissingFrom",
|
244
|
+
:value =>29,
|
245
|
+
:message =>"SDK Validation Error: Message is missing From address"
|
246
|
+
},
|
247
|
+
|
248
|
+
# SDK Validation Error: Message is missing To address(es)
|
249
|
+
"RecipientValidationMissingTo" =>
|
250
|
+
{
|
251
|
+
:name =>"RecipientValidationMissingTo",
|
252
|
+
:value =>30,
|
253
|
+
:message =>"SDK Validation Error: Message is missing To address(es)"
|
254
|
+
},
|
255
|
+
|
256
|
+
# SDK Validation Error: Message contains an invalid From address
|
257
|
+
"EmailAddressValidationInvalidFrom" =>
|
258
|
+
{
|
259
|
+
:name =>"EmailAddressValidationInvalidFrom",
|
260
|
+
:value =>31,
|
261
|
+
:message =>"SDK Validation Error: Message contains an invalid From address"
|
262
|
+
},
|
263
|
+
|
264
|
+
# SDK Validation Error: Message does not contain a subject
|
265
|
+
"MessageValidationEmptySubject" =>
|
266
|
+
{
|
267
|
+
:name =>"MessageValidationEmptySubject",
|
268
|
+
:value =>32,
|
269
|
+
:message =>"SDK Validation Error: Message does not contain a subject"
|
270
|
+
},
|
271
|
+
|
272
|
+
# SDK Validation Error: Message does not contain a message body
|
273
|
+
"MessageValidationEmptyMessage" =>
|
274
|
+
{
|
275
|
+
:name =>"MessageValidationEmptyMessage",
|
276
|
+
:value =>33,
|
277
|
+
:message =>"SDK Validation Error: Message does not contain a message body"
|
278
|
+
},
|
279
|
+
|
280
|
+
# SDK Validation Error: Message contains invalid custom headers
|
281
|
+
"MessageValidationInvalidCustomHeaders" =>
|
282
|
+
{
|
283
|
+
:name =>"MessageValidationInvalidCustomHeaders",
|
284
|
+
:value =>34,
|
285
|
+
:message =>"SDK Validation Error: Message contains invalid custom headers"
|
286
|
+
},
|
287
|
+
|
288
|
+
# SDK Validation Error: Message contains invalid ReplyTo address
|
289
|
+
"RecipientValidationInvalidReplyTo" =>
|
290
|
+
{
|
291
|
+
:name =>"RecipientValidationInvalidReplyTo",
|
292
|
+
:value =>35,
|
293
|
+
:message =>"SDK Validation Error: Message contains invalid ReplyTo address"
|
294
|
+
},
|
295
|
+
|
296
|
+
# SDK Validation Error: Message contains invalid recipients
|
297
|
+
"RecipientValidationInvalidRecipients" =>
|
298
|
+
{
|
299
|
+
:name =>"RecipientValidationInvalidRecipients",
|
300
|
+
:value =>36,
|
301
|
+
:message =>"SDK Validation Error: Message contains invalid recipients"
|
302
|
+
},
|
303
|
+
|
304
|
+
# SDK Validation Error: Expected messageType of basic or bulk
|
305
|
+
"MessageValidationInvalidMessageType" =>
|
306
|
+
{
|
307
|
+
:name =>"MessageValidationInvalidMessageType",
|
308
|
+
:value =>37,
|
309
|
+
:message =>"SDK Validation Error: Expected messageType of basic or bulk"
|
310
|
+
|
311
|
+
}
|
312
|
+
|
313
|
+
}
|
314
|
+
end
|
315
|
+
|
316
|
+
end
|
317
|
+
end
|
318
|
+
end
|
@@ -0,0 +1,123 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require_relative '../version.rb'
|
3
|
+
require_relative 'send_response.rb'
|
4
|
+
require_relative 'send_result.rb'
|
5
|
+
require_relative 'message/message_base.rb'
|
6
|
+
require_relative 'message/basic_message.rb'
|
7
|
+
require_relative 'message/bulk_message.rb'
|
8
|
+
require_relative 'core/injection_request_factory.rb'
|
9
|
+
require_relative 'core/http_request.rb'
|
10
|
+
|
11
|
+
module SocketLabs
|
12
|
+
module InjectionApi
|
13
|
+
class SocketLabsClient
|
14
|
+
include SocketLabs::InjectionApi::Core
|
15
|
+
include SocketLabs::InjectionApi::Message
|
16
|
+
|
17
|
+
public
|
18
|
+
def initialize (
|
19
|
+
server_id,
|
20
|
+
api_key,
|
21
|
+
proxy= {}
|
22
|
+
)
|
23
|
+
@server_id = server_id
|
24
|
+
@api_key = api_key
|
25
|
+
@proxy = proxy
|
26
|
+
@endpoint = "https://inject.socketlabs.com/api/v1/email"
|
27
|
+
end
|
28
|
+
|
29
|
+
# Sends a Message message and returns the response from the Injection API.
|
30
|
+
# @param [BasicMessage, BulkMessage] message: A Message object to be sent.
|
31
|
+
# @return [SendResponse] the SendResponse from the request
|
32
|
+
def send(message)
|
33
|
+
|
34
|
+
response = SendResponse.new
|
35
|
+
|
36
|
+
if message.instance_of? BasicMessage
|
37
|
+
response = send_basic_message(message)
|
38
|
+
end
|
39
|
+
|
40
|
+
if message.instance_of? BulkMessage
|
41
|
+
response = send_bulk_message(message)
|
42
|
+
end
|
43
|
+
|
44
|
+
response
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
private
|
50
|
+
# Your SocketLabs ServerId number.
|
51
|
+
attr_accessor :server_id
|
52
|
+
# Your SocketLabs Injection API key.
|
53
|
+
attr_accessor :api_key
|
54
|
+
# The Proxy you would like to use.
|
55
|
+
attr_accessor :proxy
|
56
|
+
# The SocketLabs Injection API endpoint Url
|
57
|
+
attr_accessor :endpoint
|
58
|
+
|
59
|
+
def http_method
|
60
|
+
HttpRequest.http_request_method[:Post]
|
61
|
+
end
|
62
|
+
|
63
|
+
# Sends a BasicMessage message and returns the response from the Injection API.
|
64
|
+
# @param [BasicMessage] message: A BasicMessage object to be sent.
|
65
|
+
# @return [SendResponse] the SendResponse from the request
|
66
|
+
def send_basic_message(message)
|
67
|
+
|
68
|
+
resp = validate_message(message)
|
69
|
+
if resp.result != SendResult.enum["Success"]
|
70
|
+
resp
|
71
|
+
end
|
72
|
+
|
73
|
+
req_factory = InjectionRequestFactory.new(@server_id, @api_key)
|
74
|
+
request = req_factory.generate_request(message)
|
75
|
+
|
76
|
+
# debug
|
77
|
+
request_hash = request.to_hash
|
78
|
+
debug_json = request_hash.to_json
|
79
|
+
puts debug_json
|
80
|
+
|
81
|
+
http_request = HttpRequest.new(http_method, { :http_endpoint => @endpoint, :proxy => @proxy })
|
82
|
+
http_request.send_request(request)
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
# Sends a BulkMessage message and returns the response from the Injection API.
|
87
|
+
# @param [BulkMessage] message: A BulkMessage object to be sent.
|
88
|
+
# @return [SendResponse] the SendResponse from the request
|
89
|
+
def send_bulk_message(message)
|
90
|
+
|
91
|
+
resp = validate_message(message)
|
92
|
+
if resp.result != SendResult.enum["Success"]
|
93
|
+
resp
|
94
|
+
end
|
95
|
+
|
96
|
+
req_factory = InjectionRequestFactory.new(@server_id, @api_key)
|
97
|
+
request = req_factory.generate_request(message)
|
98
|
+
|
99
|
+
# debug
|
100
|
+
request_hash = request.to_hash
|
101
|
+
debug_json = request_hash.to_json
|
102
|
+
puts debug_json
|
103
|
+
|
104
|
+
http_request = HttpRequest.new(http_method, { :http_endpoint => @endpoint, :proxy => @proxy })
|
105
|
+
http_request.send_request(request)
|
106
|
+
|
107
|
+
end
|
108
|
+
|
109
|
+
# Validate a BulkMessage message
|
110
|
+
# @param [MessageBase] message
|
111
|
+
# @return [SendResult]
|
112
|
+
def validate_message(message)
|
113
|
+
validator = SendValidator.new
|
114
|
+
resp = validator.validate_credentials(@server_id, @api_key)
|
115
|
+
if resp.result != SendResult.enum["Success"]
|
116
|
+
resp
|
117
|
+
end
|
118
|
+
validator.validate_message(message)
|
119
|
+
end
|
120
|
+
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require_relative 'socketlabs/injectionapi/core/send_validator'
|
2
|
+
require_relative 'socketlabs/injectionapi/core/string_extension'
|
3
|
+
require_relative 'socketlabs/injectionapi/address_result'
|
4
|
+
require_relative 'socketlabs/injectionapi/proxy'
|
5
|
+
require_relative 'socketlabs/injectionapi/send_response'
|
6
|
+
require_relative 'socketlabs/injectionapi/send_result'
|
7
|
+
require_relative 'socketlabs/injectionapi/socketlabsclient'
|
8
|
+
require_relative 'socketlabs/injectionapi/message/attachment'
|
9
|
+
require_relative 'socketlabs/injectionapi/message/message_base'
|
10
|
+
require_relative 'socketlabs/injectionapi/message/basic_message'
|
11
|
+
require_relative 'socketlabs/injectionapi/message/bulk_message'
|
12
|
+
require_relative 'socketlabs/injectionapi/message/bulk_recipient'
|
13
|
+
require_relative 'socketlabs/injectionapi/message/custom_header'
|
14
|
+
require_relative 'socketlabs/injectionapi/message/email_address'
|
15
|
+
require_relative 'socketlabs/injectionapi/message/merge_data'
|
16
|
+
require_relative 'socketlabs/injectionapi/core/serialization/address_json'
|
17
|
+
require_relative 'socketlabs/injectionapi/core/serialization/attachment_json'
|
18
|
+
require_relative 'socketlabs/injectionapi/core/serialization/custom_header_json'
|
19
|
+
require_relative 'socketlabs/injectionapi/core/serialization/injection_request'
|
20
|
+
require_relative 'socketlabs/injectionapi/core/serialization/injection_response_dto'
|
21
|
+
require_relative 'socketlabs/injectionapi/core/serialization/merge_data_json'
|
22
|
+
require_relative 'socketlabs/injectionapi/core/serialization/merge_field_json'
|
23
|
+
require_relative 'socketlabs/injectionapi/core/serialization/message_json'
|
24
|
+
require_relative 'socketlabs/injectionapi/core/serialization/message_result_dto'
|
25
|
+
require_relative 'socketlabs/injectionapi/core/injection_request_factory'
|
26
|
+
require_relative 'socketlabs/injectionapi/core/http_request'
|
27
|
+
require_relative 'socketlabs/injectionapi/core/http_response'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'socketlabs/version.rb'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'socketlabs-injectionapi'
|
8
|
+
spec.version = SocketLabs::InjectionApi::VERSION
|
9
|
+
spec.authors = ['David Schrenker']
|
10
|
+
spec.email = 'developers@socketlabs.com'
|
11
|
+
spec.summary = 'SocketLabs Injection Api'
|
12
|
+
spec.description = 'SocketLabs Email Delivery Ruby Client library'
|
13
|
+
spec.homepage = 'https://github.com/socketlabs/socketlabs-ruby'
|
14
|
+
|
15
|
+
spec.required_ruby_version = '>= 2.4'
|
16
|
+
|
17
|
+
spec.license = 'MIT'
|
18
|
+
files = `git ls-files -z`.split("\x0").reject do |f|
|
19
|
+
f.match(%r{^(examples)/})
|
20
|
+
end
|
21
|
+
spec.files = files
|
22
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
+
spec.require_paths = ['lib']
|
24
|
+
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: socketlabs-injectionapi
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.pre.Dev
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David Schrenker
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-01-29 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: SocketLabs Email Delivery Ruby Client library
|
14
|
+
email: developers@socketlabs.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- ".gitignore"
|
20
|
+
- ".idea/inspectionProfiles/Project_Default.xml"
|
21
|
+
- ".idea/misc.xml"
|
22
|
+
- ".idea/modules.xml"
|
23
|
+
- ".idea/socketlabs-ruby.iml"
|
24
|
+
- ".idea/vcs.xml"
|
25
|
+
- ".idea/workspace.xml"
|
26
|
+
- LICENSE.MD
|
27
|
+
- README.MD
|
28
|
+
- gemfile
|
29
|
+
- gemfile.lock
|
30
|
+
- lib/socketlabs-injectionapi.rb
|
31
|
+
- lib/socketlabs/injectionapi/address_result.rb
|
32
|
+
- lib/socketlabs/injectionapi/core/http_request.rb
|
33
|
+
- lib/socketlabs/injectionapi/core/http_response.rb
|
34
|
+
- lib/socketlabs/injectionapi/core/injection_request_factory.rb
|
35
|
+
- lib/socketlabs/injectionapi/core/injection_response_parser.rb
|
36
|
+
- lib/socketlabs/injectionapi/core/send_validator.rb
|
37
|
+
- lib/socketlabs/injectionapi/core/serialization/address_json.rb
|
38
|
+
- lib/socketlabs/injectionapi/core/serialization/attachment_json.rb
|
39
|
+
- lib/socketlabs/injectionapi/core/serialization/custom_header_json.rb
|
40
|
+
- lib/socketlabs/injectionapi/core/serialization/injection_request.rb
|
41
|
+
- lib/socketlabs/injectionapi/core/serialization/injection_response_dto.rb
|
42
|
+
- lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb
|
43
|
+
- lib/socketlabs/injectionapi/core/serialization/merge_field_json.rb
|
44
|
+
- lib/socketlabs/injectionapi/core/serialization/message_json.rb
|
45
|
+
- lib/socketlabs/injectionapi/core/serialization/message_result_dto.rb
|
46
|
+
- lib/socketlabs/injectionapi/core/string_extension.rb
|
47
|
+
- lib/socketlabs/injectionapi/message/attachment.rb
|
48
|
+
- lib/socketlabs/injectionapi/message/basic_message.rb
|
49
|
+
- lib/socketlabs/injectionapi/message/bulk_message.rb
|
50
|
+
- lib/socketlabs/injectionapi/message/bulk_recipient.rb
|
51
|
+
- lib/socketlabs/injectionapi/message/custom_header.rb
|
52
|
+
- lib/socketlabs/injectionapi/message/email_address.rb
|
53
|
+
- lib/socketlabs/injectionapi/message/merge_data.rb
|
54
|
+
- lib/socketlabs/injectionapi/message/message_base.rb
|
55
|
+
- lib/socketlabs/injectionapi/proxy.rb
|
56
|
+
- lib/socketlabs/injectionapi/send_response.rb
|
57
|
+
- lib/socketlabs/injectionapi/send_result.rb
|
58
|
+
- lib/socketlabs/injectionapi/socketlabsclient.rb
|
59
|
+
- lib/socketlabs/version.rb
|
60
|
+
- socketlabs-injectionapi.gemspec
|
61
|
+
homepage: https://github.com/socketlabs/socketlabs-ruby
|
62
|
+
licenses:
|
63
|
+
- MIT
|
64
|
+
metadata: {}
|
65
|
+
post_install_message:
|
66
|
+
rdoc_options: []
|
67
|
+
require_paths:
|
68
|
+
- lib
|
69
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '2.4'
|
74
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - ">"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.3.1
|
79
|
+
requirements: []
|
80
|
+
rubyforge_project:
|
81
|
+
rubygems_version: 2.6.14.3
|
82
|
+
signing_key:
|
83
|
+
specification_version: 4
|
84
|
+
summary: SocketLabs Injection Api
|
85
|
+
test_files: []
|