mailslurp_client 7.0.8 → 8.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mailslurp_client.rb +12 -3
  3. metadata +11 -372
  4. data/Gemfile +0 -9
  5. data/LICENSE +0 -22
  6. data/Makefile +0 -3
  7. data/README.md +0 -239
  8. data/Rakefile +0 -10
  9. data/docs/AliasControllerApi.md +0 -337
  10. data/docs/AttachmentControllerApi.md +0 -126
  11. data/docs/AttachmentMetaData.md +0 -23
  12. data/docs/BasicAuthOptions.md +0 -19
  13. data/docs/BulkActionsControllerApi.md +0 -165
  14. data/docs/BulkSendEmailOptions.md +0 -19
  15. data/docs/CommonActionsControllerApi.md +0 -218
  16. data/docs/ContactControllerApi.md +0 -274
  17. data/docs/ContactDto.md +0 -31
  18. data/docs/ContactProjection.md +0 -27
  19. data/docs/CreateAnonymousAliasOptions.md +0 -17
  20. data/docs/CreateContactOptions.md +0 -31
  21. data/docs/CreateDomainOptions.md +0 -17
  22. data/docs/CreateGroupOptions.md +0 -19
  23. data/docs/CreateOwnedAliasOptions.md +0 -23
  24. data/docs/CreateTemplateOptions.md +0 -19
  25. data/docs/CreateWebhookOptions.md +0 -21
  26. data/docs/DomainControllerApi.md +0 -223
  27. data/docs/DomainDto.md +0 -29
  28. data/docs/DomainPreview.md +0 -21
  29. data/docs/Email.md +0 -49
  30. data/docs/EmailAnalysis.md +0 -25
  31. data/docs/EmailControllerApi.md +0 -740
  32. data/docs/EmailPreview.md +0 -31
  33. data/docs/EmailProjection.md +0 -33
  34. data/docs/FormControllerApi.md +0 -79
  35. data/docs/ForwardEmailOptions.md +0 -23
  36. data/docs/GroupContactsDto.md +0 -19
  37. data/docs/GroupControllerApi.md +0 -437
  38. data/docs/GroupDto.md +0 -23
  39. data/docs/GroupProjection.md +0 -23
  40. data/docs/HTMLValidationResult.md +0 -21
  41. data/docs/Inbox.md +0 -33
  42. data/docs/InboxControllerApi.md +0 -705
  43. data/docs/InboxProjection.md +0 -29
  44. data/docs/JsonNode.md +0 -59
  45. data/docs/MatchOption.md +0 -21
  46. data/docs/MatchOptions.md +0 -17
  47. data/docs/ModelAlias.md +0 -31
  48. data/docs/PageAlias.md +0 -37
  49. data/docs/PageContactProjection.md +0 -37
  50. data/docs/PageEmailPreview.md +0 -37
  51. data/docs/PageEmailProjection.md +0 -37
  52. data/docs/PageGroupProjection.md +0 -37
  53. data/docs/PageInboxProjection.md +0 -37
  54. data/docs/PageTemplateProjection.md +0 -37
  55. data/docs/PageWebhookProjection.md +0 -37
  56. data/docs/Pageable.md +0 -27
  57. data/docs/RawEmailJson.md +0 -17
  58. data/docs/SendEmailOptions.md +0 -45
  59. data/docs/SetInboxFavouritedOptions.md +0 -17
  60. data/docs/SimpleSendEmailOptions.md +0 -23
  61. data/docs/Sort.md +0 -21
  62. data/docs/TemplateControllerApi.md +0 -274
  63. data/docs/TemplateDto.md +0 -25
  64. data/docs/TemplateProjection.md +0 -25
  65. data/docs/TemplateVariable.md +0 -19
  66. data/docs/UnreadCount.md +0 -17
  67. data/docs/UpdateGroupContacts.md +0 -17
  68. data/docs/UpdateInboxOptions.md +0 -25
  69. data/docs/UploadAttachmentOptions.md +0 -21
  70. data/docs/ValidationDto.md +0 -19
  71. data/docs/ValidationMessage.md +0 -19
  72. data/docs/WaitForConditions.md +0 -29
  73. data/docs/WaitForControllerApi.md +0 -317
  74. data/docs/WebhookControllerApi.md +0 -339
  75. data/docs/WebhookDto.md +0 -33
  76. data/docs/WebhookProjection.md +0 -27
  77. data/docs/WebhookTestRequest.md +0 -23
  78. data/docs/WebhookTestResponse.md +0 -19
  79. data/docs/WebhookTestResult.md +0 -21
  80. data/git_push.sh +0 -58
  81. data/lib/mailslurp_client/api/alias_controller_api.rb +0 -405
  82. data/lib/mailslurp_client/api/attachment_controller_api.rb +0 -160
  83. data/lib/mailslurp_client/api/bulk_actions_controller_api.rb +0 -203
  84. data/lib/mailslurp_client/api/common_actions_controller_api.rb +0 -257
  85. data/lib/mailslurp_client/api/contact_controller_api.rb +0 -323
  86. data/lib/mailslurp_client/api/domain_controller_api.rb +0 -264
  87. data/lib/mailslurp_client/api/email_controller_api.rb +0 -852
  88. data/lib/mailslurp_client/api/form_controller_api.rb +0 -104
  89. data/lib/mailslurp_client/api/group_controller_api.rb +0 -519
  90. data/lib/mailslurp_client/api/inbox_controller_api.rb +0 -822
  91. data/lib/mailslurp_client/api/template_controller_api.rb +0 -323
  92. data/lib/mailslurp_client/api/wait_for_controller_api.rb +0 -359
  93. data/lib/mailslurp_client/api/webhook_controller_api.rb +0 -405
  94. data/lib/mailslurp_client/api_client.rb +0 -386
  95. data/lib/mailslurp_client/api_error.rb +0 -57
  96. data/lib/mailslurp_client/configuration.rb +0 -248
  97. data/lib/mailslurp_client/models/attachment_meta_data.rb +0 -238
  98. data/lib/mailslurp_client/models/basic_auth_options.rb +0 -226
  99. data/lib/mailslurp_client/models/bulk_send_email_options.rb +0 -219
  100. data/lib/mailslurp_client/models/contact_dto.rb +0 -288
  101. data/lib/mailslurp_client/models/contact_projection.rb +0 -261
  102. data/lib/mailslurp_client/models/create_anonymous_alias_options.rb +0 -208
  103. data/lib/mailslurp_client/models/create_contact_options.rb +0 -277
  104. data/lib/mailslurp_client/models/create_domain_options.rb +0 -208
  105. data/lib/mailslurp_client/models/create_group_options.rb +0 -220
  106. data/lib/mailslurp_client/models/create_owned_alias_options.rb +0 -238
  107. data/lib/mailslurp_client/models/create_template_options.rb +0 -225
  108. data/lib/mailslurp_client/models/create_webhook_options.rb +0 -227
  109. data/lib/mailslurp_client/models/domain_dto.rb +0 -296
  110. data/lib/mailslurp_client/models/domain_preview.rb +0 -240
  111. data/lib/mailslurp_client/models/email.rb +0 -376
  112. data/lib/mailslurp_client/models/email_analysis.rb +0 -248
  113. data/lib/mailslurp_client/models/email_preview.rb +0 -286
  114. data/lib/mailslurp_client/models/email_projection.rb +0 -307
  115. data/lib/mailslurp_client/models/forward_email_options.rb +0 -244
  116. data/lib/mailslurp_client/models/group_contacts_dto.rb +0 -227
  117. data/lib/mailslurp_client/models/group_dto.rb +0 -248
  118. data/lib/mailslurp_client/models/group_projection.rb +0 -248
  119. data/lib/mailslurp_client/models/html_validation_result.rb +0 -243
  120. data/lib/mailslurp_client/models/inbox.rb +0 -290
  121. data/lib/mailslurp_client/models/inbox_projection.rb +0 -272
  122. data/lib/mailslurp_client/models/json_node.rb +0 -429
  123. data/lib/mailslurp_client/models/match_option.rb +0 -274
  124. data/lib/mailslurp_client/models/match_options.rb +0 -210
  125. data/lib/mailslurp_client/models/model_alias.rb +0 -284
  126. data/lib/mailslurp_client/models/page_alias.rb +0 -298
  127. data/lib/mailslurp_client/models/page_contact_projection.rb +0 -298
  128. data/lib/mailslurp_client/models/page_email_preview.rb +0 -298
  129. data/lib/mailslurp_client/models/page_email_projection.rb +0 -298
  130. data/lib/mailslurp_client/models/page_group_projection.rb +0 -298
  131. data/lib/mailslurp_client/models/page_inbox_projection.rb +0 -298
  132. data/lib/mailslurp_client/models/page_template_projection.rb +0 -298
  133. data/lib/mailslurp_client/models/page_webhook_projection.rb +0 -298
  134. data/lib/mailslurp_client/models/pageable.rb +0 -251
  135. data/lib/mailslurp_client/models/raw_email_json.rb +0 -211
  136. data/lib/mailslurp_client/models/send_email_options.rb +0 -392
  137. data/lib/mailslurp_client/models/set_inbox_favourited_options.rb +0 -208
  138. data/lib/mailslurp_client/models/simple_send_email_options.rb +0 -237
  139. data/lib/mailslurp_client/models/sort.rb +0 -224
  140. data/lib/mailslurp_client/models/template_dto.rb +0 -269
  141. data/lib/mailslurp_client/models/template_projection.rb +0 -269
  142. data/lib/mailslurp_client/models/template_variable.rb +0 -259
  143. data/lib/mailslurp_client/models/unread_count.rb +0 -211
  144. data/lib/mailslurp_client/models/update_group_contacts.rb +0 -213
  145. data/lib/mailslurp_client/models/update_inbox_options.rb +0 -250
  146. data/lib/mailslurp_client/models/upload_attachment_options.rb +0 -228
  147. data/lib/mailslurp_client/models/validation_dto.rb +0 -217
  148. data/lib/mailslurp_client/models/validation_message.rb +0 -220
  149. data/lib/mailslurp_client/models/wait_for_conditions.rb +0 -316
  150. data/lib/mailslurp_client/models/webhook_dto.rb +0 -326
  151. data/lib/mailslurp_client/models/webhook_projection.rb +0 -277
  152. data/lib/mailslurp_client/models/webhook_test_request.rb +0 -284
  153. data/lib/mailslurp_client/models/webhook_test_response.rb +0 -215
  154. data/lib/mailslurp_client/models/webhook_test_result.rb +0 -235
  155. data/lib/mailslurp_client/version.rb +0 -15
  156. data/mailslurp_client.gemspec +0 -39
  157. data/spec/api/alias_controller_api_spec.rb +0 -107
  158. data/spec/api/attachment_controller_api_spec.rb +0 -61
  159. data/spec/api/bulk_actions_controller_api_spec.rb +0 -68
  160. data/spec/api/common_actions_controller_api_spec.rb +0 -129
  161. data/spec/api/contact_controller_api_spec.rb +0 -91
  162. data/spec/api/domain_controller_api_spec.rb +0 -82
  163. data/spec/api/email_controller_api_spec.rb +0 -162
  164. data/spec/api/form_controller_api_spec.rb +0 -54
  165. data/spec/api/group_controller_api_spec.rb +0 -126
  166. data/spec/api/inbox_controller_api_spec.rb +0 -172
  167. data/spec/api/template_controller_api_spec.rb +0 -91
  168. data/spec/api/wait_for_controller_api_spec.rb +0 -107
  169. data/spec/api/webhook_controller_api_spec.rb +0 -107
  170. data/spec/api_client_spec.rb +0 -226
  171. data/spec/configuration_spec.rb +0 -42
  172. data/spec/models/attachment_meta_data_spec.rb +0 -59
  173. data/spec/models/basic_auth_options_spec.rb +0 -47
  174. data/spec/models/bulk_send_email_options_spec.rb +0 -47
  175. data/spec/models/contact_dto_spec.rb +0 -83
  176. data/spec/models/contact_projection_spec.rb +0 -71
  177. data/spec/models/create_anonymous_alias_options_spec.rb +0 -41
  178. data/spec/models/create_contact_options_spec.rb +0 -83
  179. data/spec/models/create_domain_options_spec.rb +0 -41
  180. data/spec/models/create_group_options_spec.rb +0 -47
  181. data/spec/models/create_owned_alias_options_spec.rb +0 -59
  182. data/spec/models/create_template_options_spec.rb +0 -47
  183. data/spec/models/create_webhook_options_spec.rb +0 -53
  184. data/spec/models/domain_dto_spec.rb +0 -77
  185. data/spec/models/domain_preview_spec.rb +0 -53
  186. data/spec/models/email_analysis_spec.rb +0 -65
  187. data/spec/models/email_preview_spec.rb +0 -83
  188. data/spec/models/email_projection_spec.rb +0 -89
  189. data/spec/models/email_spec.rb +0 -137
  190. data/spec/models/forward_email_options_spec.rb +0 -59
  191. data/spec/models/group_contacts_dto_spec.rb +0 -47
  192. data/spec/models/group_dto_spec.rb +0 -59
  193. data/spec/models/group_projection_spec.rb +0 -59
  194. data/spec/models/html_validation_result_spec.rb +0 -53
  195. data/spec/models/inbox_projection_spec.rb +0 -77
  196. data/spec/models/inbox_spec.rb +0 -89
  197. data/spec/models/json_node_spec.rb +0 -171
  198. data/spec/models/match_option_spec.rb +0 -61
  199. data/spec/models/match_options_spec.rb +0 -41
  200. data/spec/models/model_alias_spec.rb +0 -83
  201. data/spec/models/page_alias_spec.rb +0 -101
  202. data/spec/models/page_contact_projection_spec.rb +0 -101
  203. data/spec/models/page_email_preview_spec.rb +0 -101
  204. data/spec/models/page_email_projection_spec.rb +0 -101
  205. data/spec/models/page_group_projection_spec.rb +0 -101
  206. data/spec/models/page_inbox_projection_spec.rb +0 -101
  207. data/spec/models/page_template_projection_spec.rb +0 -101
  208. data/spec/models/page_webhook_projection_spec.rb +0 -101
  209. data/spec/models/pageable_spec.rb +0 -71
  210. data/spec/models/raw_email_json_spec.rb +0 -41
  211. data/spec/models/send_email_options_spec.rb +0 -129
  212. data/spec/models/set_inbox_favourited_options_spec.rb +0 -41
  213. data/spec/models/simple_send_email_options_spec.rb +0 -59
  214. data/spec/models/sort_spec.rb +0 -53
  215. data/spec/models/template_dto_spec.rb +0 -65
  216. data/spec/models/template_projection_spec.rb +0 -65
  217. data/spec/models/template_variable_spec.rb +0 -51
  218. data/spec/models/unread_count_spec.rb +0 -41
  219. data/spec/models/update_group_contacts_spec.rb +0 -41
  220. data/spec/models/update_inbox_options_spec.rb +0 -65
  221. data/spec/models/upload_attachment_options_spec.rb +0 -53
  222. data/spec/models/validation_dto_spec.rb +0 -47
  223. data/spec/models/validation_message_spec.rb +0 -47
  224. data/spec/models/wait_for_conditions_spec.rb +0 -85
  225. data/spec/models/webhook_dto_spec.rb +0 -93
  226. data/spec/models/webhook_projection_spec.rb +0 -71
  227. data/spec/models/webhook_test_request_spec.rb +0 -63
  228. data/spec/models/webhook_test_response_spec.rb +0 -47
  229. data/spec/models/webhook_test_result_spec.rb +0 -53
  230. data/spec/spec_helper.rb +0 -111
@@ -1,211 +0,0 @@
1
- =begin
2
- #MailSlurp API
3
-
4
- #MailSlurp is an API for sending and receiving emails from dynamically allocated email addresses. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://www.mailslurp.com/docs/) - [Examples](https://github.com/mailslurp/examples) repository
5
-
6
- The version of the OpenAPI document: d1659dc1567a5b62f65d0612107a50aace03e085
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
10
-
11
- =end
12
-
13
- require 'date'
14
-
15
- module MailSlurpClient
16
- class RawEmailJson
17
- attr_accessor :content
18
-
19
- # Attribute mapping from ruby-style variable name to JSON key.
20
- def self.attribute_map
21
- {
22
- :'content' => :'content'
23
- }
24
- end
25
-
26
- # Attribute type mapping.
27
- def self.openapi_types
28
- {
29
- :'content' => :'String'
30
- }
31
- end
32
-
33
- # List of attributes with nullable: true
34
- def self.openapi_nullable
35
- Set.new([
36
- ])
37
- end
38
-
39
- # Initializes the object
40
- # @param [Hash] attributes Model attributes in the form of hash
41
- def initialize(attributes = {})
42
- if (!attributes.is_a?(Hash))
43
- fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::RawEmailJson` initialize method"
44
- end
45
-
46
- # check to see if the attribute exists and convert string to symbol for hash key
47
- attributes = attributes.each_with_object({}) { |(k, v), h|
48
- if (!self.class.attribute_map.key?(k.to_sym))
49
- fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::RawEmailJson`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
50
- end
51
- h[k.to_sym] = v
52
- }
53
-
54
- if attributes.key?(:'content')
55
- self.content = attributes[:'content']
56
- end
57
- end
58
-
59
- # Show invalid properties with the reasons. Usually used together with valid?
60
- # @return Array for valid properties with the reasons
61
- def list_invalid_properties
62
- invalid_properties = Array.new
63
- if @content.nil?
64
- invalid_properties.push('invalid value for "content", content cannot be nil.')
65
- end
66
-
67
- invalid_properties
68
- end
69
-
70
- # Check to see if the all the properties in the model are valid
71
- # @return true if the model is valid
72
- def valid?
73
- return false if @content.nil?
74
- true
75
- end
76
-
77
- # Checks equality by comparing each attribute.
78
- # @param [Object] Object to be compared
79
- def ==(o)
80
- return true if self.equal?(o)
81
- self.class == o.class &&
82
- content == o.content
83
- end
84
-
85
- # @see the `==` method
86
- # @param [Object] Object to be compared
87
- def eql?(o)
88
- self == o
89
- end
90
-
91
- # Calculates hash code according to all attributes.
92
- # @return [Integer] Hash code
93
- def hash
94
- [content].hash
95
- end
96
-
97
- # Builds the object from hash
98
- # @param [Hash] attributes Model attributes in the form of hash
99
- # @return [Object] Returns the model itself
100
- def self.build_from_hash(attributes)
101
- new.build_from_hash(attributes)
102
- end
103
-
104
- # Builds the object from hash
105
- # @param [Hash] attributes Model attributes in the form of hash
106
- # @return [Object] Returns the model itself
107
- def build_from_hash(attributes)
108
- return nil unless attributes.is_a?(Hash)
109
- self.class.openapi_types.each_pair do |key, type|
110
- if type =~ /\AArray<(.*)>/i
111
- # check to ensure the input is an array given that the attribute
112
- # is documented as an array but the input is not
113
- if attributes[self.class.attribute_map[key]].is_a?(Array)
114
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
115
- end
116
- elsif !attributes[self.class.attribute_map[key]].nil?
117
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
118
- end # or else data not found in attributes(hash), not an issue as the data can be optional
119
- end
120
-
121
- self
122
- end
123
-
124
- # Deserializes the data based on type
125
- # @param string type Data type
126
- # @param string value Value to be deserialized
127
- # @return [Object] Deserialized data
128
- def _deserialize(type, value)
129
- case type.to_sym
130
- when :DateTime
131
- DateTime.parse(value)
132
- when :Date
133
- Date.parse(value)
134
- when :String
135
- value.to_s
136
- when :Integer
137
- value.to_i
138
- when :Float
139
- value.to_f
140
- when :Boolean
141
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
- true
143
- else
144
- false
145
- end
146
- when :Object
147
- # generic object (usually a Hash), return directly
148
- value
149
- when /\AArray<(?<inner_type>.+)>\z/
150
- inner_type = Regexp.last_match[:inner_type]
151
- value.map { |v| _deserialize(inner_type, v) }
152
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
- k_type = Regexp.last_match[:k_type]
154
- v_type = Regexp.last_match[:v_type]
155
- {}.tap do |hash|
156
- value.each do |k, v|
157
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
- end
159
- end
160
- else # model
161
- MailSlurpClient.const_get(type).build_from_hash(value)
162
- end
163
- end
164
-
165
- # Returns the string representation of the object
166
- # @return [String] String presentation of the object
167
- def to_s
168
- to_hash.to_s
169
- end
170
-
171
- # to_body is an alias to to_hash (backward compatibility)
172
- # @return [Hash] Returns the object in the form of hash
173
- def to_body
174
- to_hash
175
- end
176
-
177
- # Returns the object in the form of hash
178
- # @return [Hash] Returns the object in the form of hash
179
- def to_hash
180
- hash = {}
181
- self.class.attribute_map.each_pair do |attr, param|
182
- value = self.send(attr)
183
- if value.nil?
184
- is_nullable = self.class.openapi_nullable.include?(attr)
185
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
186
- end
187
-
188
- hash[param] = _to_hash(value)
189
- end
190
- hash
191
- end
192
-
193
- # Outputs non-array value in the form of hash
194
- # For object, use to_hash. Otherwise, just return the value
195
- # @param [Object] value Any valid value
196
- # @return [Hash] Returns the value in the form of hash
197
- def _to_hash(value)
198
- if value.is_a?(Array)
199
- value.compact.map { |v| _to_hash(v) }
200
- elsif value.is_a?(Hash)
201
- {}.tap do |hash|
202
- value.each { |k, v| hash[k] = _to_hash(v) }
203
- end
204
- elsif value.respond_to? :to_hash
205
- value.to_hash
206
- else
207
- value
208
- end
209
- end
210
- end
211
- end
@@ -1,392 +0,0 @@
1
- =begin
2
- #MailSlurp API
3
-
4
- #MailSlurp is an API for sending and receiving emails from dynamically allocated email addresses. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://www.mailslurp.com/docs/) - [Examples](https://github.com/mailslurp/examples) repository
5
-
6
- The version of the OpenAPI document: d1659dc1567a5b62f65d0612107a50aace03e085
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
10
-
11
- =end
12
-
13
- require 'date'
14
-
15
- module MailSlurpClient
16
- # Options for sending an email message from an inbox. You must provide one of: `to`, `toGroup`, or `toContacts` to send an email. All other parameters are optional.
17
- class SendEmailOptions
18
- # Optional list of attachment IDs to send with this email. You must first upload each attachment separately in order to obtain attachment IDs. This way you can reuse attachments with different emails once uploaded.
19
- attr_accessor :attachments
20
-
21
- # Optional list of bcc destination email addresses
22
- attr_accessor :bcc
23
-
24
- # Optional contents of email. If body contains HTML then set `isHTML` to true to ensure that email clients render it correctly. You can use moustache template syntax in the email body in conjunction with `toGroup` contact variables or `templateVariables` data. If you need more templating control consider creating a template and using the `template` property instead of the body.
25
- attr_accessor :body
26
-
27
- # Optional list of cc destination email addresses
28
- attr_accessor :cc
29
-
30
- # Optional charset
31
- attr_accessor :charset
32
-
33
- # Optional from address. If not set the source inbox address will be used for this field. Beware of potential spam penalties when setting this field to an address not used by the inbox. For custom email addresses use a custom domain.
34
- attr_accessor :from
35
-
36
- # Optional HTML flag. If true the `content-type` of the email will be `text/html`. Set to true when sending HTML to ensure proper rending on email clients
37
- attr_accessor :is_html
38
-
39
- # Optional replyTo header
40
- attr_accessor :reply_to
41
-
42
- # Optional strategy to use when sending the email
43
- attr_accessor :send_strategy
44
-
45
- # Optional email subject line
46
- attr_accessor :subject
47
-
48
- # Optional template ID to use for body. Will override body if provided. When using a template make sure you pass the corresponding map of `templateVariables`. You can find which variables are needed by fetching the template itself or viewing it in the dashboard.
49
- attr_accessor :template
50
-
51
- # Optional map of template variables. Will replace moustache syntax variables in subject and body or template with the associated values if found.
52
- attr_accessor :template_variables
53
-
54
- # List of destination email addresses. Even single recipients must be in array form. Maximum recipients per email depends on your plan. If you need to send many emails try using contacts or contact groups or use a non standard sendStrategy to ensure that spam filters are not triggered (many recipients in one email can affect your spam rating).
55
- attr_accessor :to
56
-
57
- # Optional list of contact IDs to send email to. Manage your contacts via the API or dashboard. When contacts are used the email is sent to each contact separately so they will not see other recipients.
58
- attr_accessor :to_contacts
59
-
60
- # Optional contact group ID to send email to. You can create contacts and contact groups in the API or dashboard and use them for email campaigns. When contact groups are used the email is sent to each contact separately so they will not see other recipients
61
- attr_accessor :to_group
62
-
63
- class EnumAttributeValidator
64
- attr_reader :datatype
65
- attr_reader :allowable_values
66
-
67
- def initialize(datatype, allowable_values)
68
- @allowable_values = allowable_values.map do |value|
69
- case datatype.to_s
70
- when /Integer/i
71
- value.to_i
72
- when /Float/i
73
- value.to_f
74
- else
75
- value
76
- end
77
- end
78
- end
79
-
80
- def valid?(value)
81
- !value || allowable_values.include?(value)
82
- end
83
- end
84
-
85
- # Attribute mapping from ruby-style variable name to JSON key.
86
- def self.attribute_map
87
- {
88
- :'attachments' => :'attachments',
89
- :'bcc' => :'bcc',
90
- :'body' => :'body',
91
- :'cc' => :'cc',
92
- :'charset' => :'charset',
93
- :'from' => :'from',
94
- :'is_html' => :'isHTML',
95
- :'reply_to' => :'replyTo',
96
- :'send_strategy' => :'sendStrategy',
97
- :'subject' => :'subject',
98
- :'template' => :'template',
99
- :'template_variables' => :'templateVariables',
100
- :'to' => :'to',
101
- :'to_contacts' => :'toContacts',
102
- :'to_group' => :'toGroup'
103
- }
104
- end
105
-
106
- # Attribute type mapping.
107
- def self.openapi_types
108
- {
109
- :'attachments' => :'Array<String>',
110
- :'bcc' => :'Array<String>',
111
- :'body' => :'String',
112
- :'cc' => :'Array<String>',
113
- :'charset' => :'String',
114
- :'from' => :'String',
115
- :'is_html' => :'Boolean',
116
- :'reply_to' => :'String',
117
- :'send_strategy' => :'String',
118
- :'subject' => :'String',
119
- :'template' => :'String',
120
- :'template_variables' => :'Object',
121
- :'to' => :'Array<String>',
122
- :'to_contacts' => :'Array<String>',
123
- :'to_group' => :'String'
124
- }
125
- end
126
-
127
- # List of attributes with nullable: true
128
- def self.openapi_nullable
129
- Set.new([
130
- ])
131
- end
132
-
133
- # Initializes the object
134
- # @param [Hash] attributes Model attributes in the form of hash
135
- def initialize(attributes = {})
136
- if (!attributes.is_a?(Hash))
137
- fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::SendEmailOptions` initialize method"
138
- end
139
-
140
- # check to see if the attribute exists and convert string to symbol for hash key
141
- attributes = attributes.each_with_object({}) { |(k, v), h|
142
- if (!self.class.attribute_map.key?(k.to_sym))
143
- fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::SendEmailOptions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
144
- end
145
- h[k.to_sym] = v
146
- }
147
-
148
- if attributes.key?(:'attachments')
149
- if (value = attributes[:'attachments']).is_a?(Array)
150
- self.attachments = value
151
- end
152
- end
153
-
154
- if attributes.key?(:'bcc')
155
- if (value = attributes[:'bcc']).is_a?(Array)
156
- self.bcc = value
157
- end
158
- end
159
-
160
- if attributes.key?(:'body')
161
- self.body = attributes[:'body']
162
- end
163
-
164
- if attributes.key?(:'cc')
165
- if (value = attributes[:'cc']).is_a?(Array)
166
- self.cc = value
167
- end
168
- end
169
-
170
- if attributes.key?(:'charset')
171
- self.charset = attributes[:'charset']
172
- end
173
-
174
- if attributes.key?(:'from')
175
- self.from = attributes[:'from']
176
- end
177
-
178
- if attributes.key?(:'is_html')
179
- self.is_html = attributes[:'is_html']
180
- end
181
-
182
- if attributes.key?(:'reply_to')
183
- self.reply_to = attributes[:'reply_to']
184
- end
185
-
186
- if attributes.key?(:'send_strategy')
187
- self.send_strategy = attributes[:'send_strategy']
188
- end
189
-
190
- if attributes.key?(:'subject')
191
- self.subject = attributes[:'subject']
192
- end
193
-
194
- if attributes.key?(:'template')
195
- self.template = attributes[:'template']
196
- end
197
-
198
- if attributes.key?(:'template_variables')
199
- self.template_variables = attributes[:'template_variables']
200
- end
201
-
202
- if attributes.key?(:'to')
203
- if (value = attributes[:'to']).is_a?(Array)
204
- self.to = value
205
- end
206
- end
207
-
208
- if attributes.key?(:'to_contacts')
209
- if (value = attributes[:'to_contacts']).is_a?(Array)
210
- self.to_contacts = value
211
- end
212
- end
213
-
214
- if attributes.key?(:'to_group')
215
- self.to_group = attributes[:'to_group']
216
- end
217
- end
218
-
219
- # Show invalid properties with the reasons. Usually used together with valid?
220
- # @return Array for valid properties with the reasons
221
- def list_invalid_properties
222
- invalid_properties = Array.new
223
- invalid_properties
224
- end
225
-
226
- # Check to see if the all the properties in the model are valid
227
- # @return true if the model is valid
228
- def valid?
229
- send_strategy_validator = EnumAttributeValidator.new('String', ["SINGLE_MESSAGE"])
230
- return false unless send_strategy_validator.valid?(@send_strategy)
231
- true
232
- end
233
-
234
- # Custom attribute writer method checking allowed values (enum).
235
- # @param [Object] send_strategy Object to be assigned
236
- def send_strategy=(send_strategy)
237
- validator = EnumAttributeValidator.new('String', ["SINGLE_MESSAGE"])
238
- unless validator.valid?(send_strategy)
239
- fail ArgumentError, "invalid value for \"send_strategy\", must be one of #{validator.allowable_values}."
240
- end
241
- @send_strategy = send_strategy
242
- end
243
-
244
- # Checks equality by comparing each attribute.
245
- # @param [Object] Object to be compared
246
- def ==(o)
247
- return true if self.equal?(o)
248
- self.class == o.class &&
249
- attachments == o.attachments &&
250
- bcc == o.bcc &&
251
- body == o.body &&
252
- cc == o.cc &&
253
- charset == o.charset &&
254
- from == o.from &&
255
- is_html == o.is_html &&
256
- reply_to == o.reply_to &&
257
- send_strategy == o.send_strategy &&
258
- subject == o.subject &&
259
- template == o.template &&
260
- template_variables == o.template_variables &&
261
- to == o.to &&
262
- to_contacts == o.to_contacts &&
263
- to_group == o.to_group
264
- end
265
-
266
- # @see the `==` method
267
- # @param [Object] Object to be compared
268
- def eql?(o)
269
- self == o
270
- end
271
-
272
- # Calculates hash code according to all attributes.
273
- # @return [Integer] Hash code
274
- def hash
275
- [attachments, bcc, body, cc, charset, from, is_html, reply_to, send_strategy, subject, template, template_variables, to, to_contacts, to_group].hash
276
- end
277
-
278
- # Builds the object from hash
279
- # @param [Hash] attributes Model attributes in the form of hash
280
- # @return [Object] Returns the model itself
281
- def self.build_from_hash(attributes)
282
- new.build_from_hash(attributes)
283
- end
284
-
285
- # Builds the object from hash
286
- # @param [Hash] attributes Model attributes in the form of hash
287
- # @return [Object] Returns the model itself
288
- def build_from_hash(attributes)
289
- return nil unless attributes.is_a?(Hash)
290
- self.class.openapi_types.each_pair do |key, type|
291
- if type =~ /\AArray<(.*)>/i
292
- # check to ensure the input is an array given that the attribute
293
- # is documented as an array but the input is not
294
- if attributes[self.class.attribute_map[key]].is_a?(Array)
295
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
296
- end
297
- elsif !attributes[self.class.attribute_map[key]].nil?
298
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
299
- end # or else data not found in attributes(hash), not an issue as the data can be optional
300
- end
301
-
302
- self
303
- end
304
-
305
- # Deserializes the data based on type
306
- # @param string type Data type
307
- # @param string value Value to be deserialized
308
- # @return [Object] Deserialized data
309
- def _deserialize(type, value)
310
- case type.to_sym
311
- when :DateTime
312
- DateTime.parse(value)
313
- when :Date
314
- Date.parse(value)
315
- when :String
316
- value.to_s
317
- when :Integer
318
- value.to_i
319
- when :Float
320
- value.to_f
321
- when :Boolean
322
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
323
- true
324
- else
325
- false
326
- end
327
- when :Object
328
- # generic object (usually a Hash), return directly
329
- value
330
- when /\AArray<(?<inner_type>.+)>\z/
331
- inner_type = Regexp.last_match[:inner_type]
332
- value.map { |v| _deserialize(inner_type, v) }
333
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
334
- k_type = Regexp.last_match[:k_type]
335
- v_type = Regexp.last_match[:v_type]
336
- {}.tap do |hash|
337
- value.each do |k, v|
338
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
339
- end
340
- end
341
- else # model
342
- MailSlurpClient.const_get(type).build_from_hash(value)
343
- end
344
- end
345
-
346
- # Returns the string representation of the object
347
- # @return [String] String presentation of the object
348
- def to_s
349
- to_hash.to_s
350
- end
351
-
352
- # to_body is an alias to to_hash (backward compatibility)
353
- # @return [Hash] Returns the object in the form of hash
354
- def to_body
355
- to_hash
356
- end
357
-
358
- # Returns the object in the form of hash
359
- # @return [Hash] Returns the object in the form of hash
360
- def to_hash
361
- hash = {}
362
- self.class.attribute_map.each_pair do |attr, param|
363
- value = self.send(attr)
364
- if value.nil?
365
- is_nullable = self.class.openapi_nullable.include?(attr)
366
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
367
- end
368
-
369
- hash[param] = _to_hash(value)
370
- end
371
- hash
372
- end
373
-
374
- # Outputs non-array value in the form of hash
375
- # For object, use to_hash. Otherwise, just return the value
376
- # @param [Object] value Any valid value
377
- # @return [Hash] Returns the value in the form of hash
378
- def _to_hash(value)
379
- if value.is_a?(Array)
380
- value.compact.map { |v| _to_hash(v) }
381
- elsif value.is_a?(Hash)
382
- {}.tap do |hash|
383
- value.each { |k, v| hash[k] = _to_hash(v) }
384
- end
385
- elsif value.respond_to? :to_hash
386
- value.to_hash
387
- else
388
- value
389
- end
390
- end
391
- end
392
- end