mailslurp_client 15.12.13 → 15.12.16

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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mailslurp_client/api/api_user_controller_api.rb +104 -0
  3. data/lib/mailslurp_client/api/bounce_controller_api.rb +79 -0
  4. data/lib/mailslurp_client/api/sent_emails_controller_api.rb +212 -0
  5. data/lib/mailslurp_client/api/webhook_controller_api.rb +71 -0
  6. data/lib/mailslurp_client/models/alias_projection.rb +15 -15
  7. data/lib/mailslurp_client/models/complaint.rb +289 -0
  8. data/lib/mailslurp_client/models/create_contact_options.rb +7 -0
  9. data/lib/mailslurp_client/models/create_domain_options.rb +3 -0
  10. data/lib/mailslurp_client/models/create_inbox_dto.rb +10 -0
  11. data/lib/mailslurp_client/models/create_webhook_options.rb +17 -7
  12. data/lib/mailslurp_client/models/delivery_status.rb +331 -0
  13. data/lib/mailslurp_client/models/email.rb +15 -0
  14. data/lib/mailslurp_client/models/email_analysis.rb +5 -0
  15. data/lib/mailslurp_client/models/email_preview.rb +6 -5
  16. data/lib/mailslurp_client/models/email_projection.rb +10 -10
  17. data/lib/mailslurp_client/models/inbox_dto.rb +2 -0
  18. data/lib/mailslurp_client/models/inbox_preview.rb +5 -0
  19. data/lib/mailslurp_client/models/missed_email_projection.rb +10 -10
  20. data/lib/mailslurp_client/models/organization_inbox_projection.rb +4 -0
  21. data/lib/mailslurp_client/models/page_alias.rb +10 -10
  22. data/lib/mailslurp_client/models/page_attachment_entity.rb +10 -10
  23. data/lib/mailslurp_client/models/page_bounced_email.rb +10 -10
  24. data/lib/mailslurp_client/models/page_bounced_recipients.rb +10 -10
  25. data/lib/mailslurp_client/models/page_complaint.rb +308 -0
  26. data/lib/mailslurp_client/models/page_contact_projection.rb +10 -10
  27. data/lib/mailslurp_client/models/page_delivery_status.rb +308 -0
  28. data/lib/mailslurp_client/models/page_email_preview.rb +10 -10
  29. data/lib/mailslurp_client/models/page_email_projection.rb +10 -10
  30. data/lib/mailslurp_client/models/page_email_validation_request.rb +10 -10
  31. data/lib/mailslurp_client/models/page_expired_inbox_record_projection.rb +10 -10
  32. data/lib/mailslurp_client/models/page_group_projection.rb +10 -10
  33. data/lib/mailslurp_client/models/page_inbox_forwarder_dto.rb +10 -10
  34. data/lib/mailslurp_client/models/page_inbox_projection.rb +10 -10
  35. data/lib/mailslurp_client/models/page_inbox_ruleset_dto.rb +10 -10
  36. data/lib/mailslurp_client/models/page_missed_email_projection.rb +10 -10
  37. data/lib/mailslurp_client/models/page_organization_inbox_projection.rb +10 -10
  38. data/lib/mailslurp_client/models/page_phone_number_projection.rb +10 -10
  39. data/lib/mailslurp_client/models/page_sent_email_projection.rb +16 -16
  40. data/lib/mailslurp_client/models/page_sent_email_with_queue_projection.rb +16 -16
  41. data/lib/mailslurp_client/models/page_sms_projection.rb +10 -10
  42. data/lib/mailslurp_client/models/page_template_projection.rb +10 -10
  43. data/lib/mailslurp_client/models/page_thread_projection.rb +10 -10
  44. data/lib/mailslurp_client/models/page_tracking_pixel_projection.rb +10 -10
  45. data/lib/mailslurp_client/models/page_unknown_missed_email_projection.rb +10 -10
  46. data/lib/mailslurp_client/models/page_webhook_projection.rb +10 -10
  47. data/lib/mailslurp_client/models/page_webhook_result.rb +10 -10
  48. data/lib/mailslurp_client/models/sent_email_dto.rb +52 -1
  49. data/lib/mailslurp_client/models/sent_email_projection.rb +59 -59
  50. data/lib/mailslurp_client/models/thread_projection.rb +20 -20
  51. data/lib/mailslurp_client/models/tracking_pixel_projection.rb +10 -10
  52. data/lib/mailslurp_client/models/update_inbox_options.rb +5 -0
  53. data/lib/mailslurp_client/models/upload_attachment_options.rb +2 -0
  54. data/lib/mailslurp_client/models/webhook_dto.rb +18 -9
  55. data/lib/mailslurp_client/models/webhook_header_name_value.rb +228 -0
  56. data/lib/mailslurp_client/models/webhook_headers.rb +215 -0
  57. data/lib/mailslurp_client/version.rb +1 -1
  58. data/lib/mailslurp_client.rb +6 -0
  59. metadata +11 -5
@@ -23,22 +23,22 @@ module MailSlurpClient
23
23
 
24
24
  attr_accessor :subject
25
25
 
26
- attr_accessor :inbox_id
27
-
28
- attr_accessor :attachments
29
-
30
- attr_accessor :to
31
-
32
26
  attr_accessor :created_at
33
27
 
28
+ attr_accessor :body_md5_hash
29
+
34
30
  attr_accessor :bcc
35
31
 
36
32
  attr_accessor :cc
37
33
 
38
- attr_accessor :body_md5_hash
39
-
40
34
  attr_accessor :virtual_send
41
35
 
36
+ attr_accessor :inbox_id
37
+
38
+ attr_accessor :attachments
39
+
40
+ attr_accessor :to
41
+
42
42
  # Attribute mapping from ruby-style variable name to JSON key.
43
43
  def self.attribute_map
44
44
  {
@@ -46,14 +46,14 @@ module MailSlurpClient
46
46
  :'from' => :'from',
47
47
  :'user_id' => :'userId',
48
48
  :'subject' => :'subject',
49
- :'inbox_id' => :'inboxId',
50
- :'attachments' => :'attachments',
51
- :'to' => :'to',
52
49
  :'created_at' => :'createdAt',
50
+ :'body_md5_hash' => :'bodyMD5Hash',
53
51
  :'bcc' => :'bcc',
54
52
  :'cc' => :'cc',
55
- :'body_md5_hash' => :'bodyMD5Hash',
56
- :'virtual_send' => :'virtualSend'
53
+ :'virtual_send' => :'virtualSend',
54
+ :'inbox_id' => :'inboxId',
55
+ :'attachments' => :'attachments',
56
+ :'to' => :'to'
57
57
  }
58
58
  end
59
59
 
@@ -64,14 +64,14 @@ module MailSlurpClient
64
64
  :'from' => :'String',
65
65
  :'user_id' => :'String',
66
66
  :'subject' => :'String',
67
- :'inbox_id' => :'String',
68
- :'attachments' => :'Array<String>',
69
- :'to' => :'Array<String>',
70
67
  :'created_at' => :'DateTime',
68
+ :'body_md5_hash' => :'String',
71
69
  :'bcc' => :'Array<String>',
72
70
  :'cc' => :'Array<String>',
73
- :'body_md5_hash' => :'String',
74
- :'virtual_send' => :'Boolean'
71
+ :'virtual_send' => :'Boolean',
72
+ :'inbox_id' => :'String',
73
+ :'attachments' => :'Array<String>',
74
+ :'to' => :'Array<String>'
75
75
  }
76
76
  end
77
77
 
@@ -112,26 +112,14 @@ module MailSlurpClient
112
112
  self.subject = attributes[:'subject']
113
113
  end
114
114
 
115
- if attributes.key?(:'inbox_id')
116
- self.inbox_id = attributes[:'inbox_id']
117
- end
118
-
119
- if attributes.key?(:'attachments')
120
- if (value = attributes[:'attachments']).is_a?(Array)
121
- self.attachments = value
122
- end
123
- end
124
-
125
- if attributes.key?(:'to')
126
- if (value = attributes[:'to']).is_a?(Array)
127
- self.to = value
128
- end
129
- end
130
-
131
115
  if attributes.key?(:'created_at')
132
116
  self.created_at = attributes[:'created_at']
133
117
  end
134
118
 
119
+ if attributes.key?(:'body_md5_hash')
120
+ self.body_md5_hash = attributes[:'body_md5_hash']
121
+ end
122
+
135
123
  if attributes.key?(:'bcc')
136
124
  if (value = attributes[:'bcc']).is_a?(Array)
137
125
  self.bcc = value
@@ -144,13 +132,25 @@ module MailSlurpClient
144
132
  end
145
133
  end
146
134
 
147
- if attributes.key?(:'body_md5_hash')
148
- self.body_md5_hash = attributes[:'body_md5_hash']
149
- end
150
-
151
135
  if attributes.key?(:'virtual_send')
152
136
  self.virtual_send = attributes[:'virtual_send']
153
137
  end
138
+
139
+ if attributes.key?(:'inbox_id')
140
+ self.inbox_id = attributes[:'inbox_id']
141
+ end
142
+
143
+ if attributes.key?(:'attachments')
144
+ if (value = attributes[:'attachments']).is_a?(Array)
145
+ self.attachments = value
146
+ end
147
+ end
148
+
149
+ if attributes.key?(:'to')
150
+ if (value = attributes[:'to']).is_a?(Array)
151
+ self.to = value
152
+ end
153
+ end
154
154
  end
155
155
 
156
156
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -165,18 +165,6 @@ module MailSlurpClient
165
165
  invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
166
166
  end
167
167
 
168
- if @inbox_id.nil?
169
- invalid_properties.push('invalid value for "inbox_id", inbox_id cannot be nil.')
170
- end
171
-
172
- if @attachments.nil?
173
- invalid_properties.push('invalid value for "attachments", attachments cannot be nil.')
174
- end
175
-
176
- if @to.nil?
177
- invalid_properties.push('invalid value for "to", to cannot be nil.')
178
- end
179
-
180
168
  if @created_at.nil?
181
169
  invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
182
170
  end
@@ -193,6 +181,18 @@ module MailSlurpClient
193
181
  invalid_properties.push('invalid value for "virtual_send", virtual_send cannot be nil.')
194
182
  end
195
183
 
184
+ if @inbox_id.nil?
185
+ invalid_properties.push('invalid value for "inbox_id", inbox_id cannot be nil.')
186
+ end
187
+
188
+ if @attachments.nil?
189
+ invalid_properties.push('invalid value for "attachments", attachments cannot be nil.')
190
+ end
191
+
192
+ if @to.nil?
193
+ invalid_properties.push('invalid value for "to", to cannot be nil.')
194
+ end
195
+
196
196
  invalid_properties
197
197
  end
198
198
 
@@ -201,13 +201,13 @@ module MailSlurpClient
201
201
  def valid?
202
202
  return false if @id.nil?
203
203
  return false if @user_id.nil?
204
- return false if @inbox_id.nil?
205
- return false if @attachments.nil?
206
- return false if @to.nil?
207
204
  return false if @created_at.nil?
208
205
  return false if @bcc.nil?
209
206
  return false if @cc.nil?
210
207
  return false if @virtual_send.nil?
208
+ return false if @inbox_id.nil?
209
+ return false if @attachments.nil?
210
+ return false if @to.nil?
211
211
  true
212
212
  end
213
213
 
@@ -220,14 +220,14 @@ module MailSlurpClient
220
220
  from == o.from &&
221
221
  user_id == o.user_id &&
222
222
  subject == o.subject &&
223
- inbox_id == o.inbox_id &&
224
- attachments == o.attachments &&
225
- to == o.to &&
226
223
  created_at == o.created_at &&
224
+ body_md5_hash == o.body_md5_hash &&
227
225
  bcc == o.bcc &&
228
226
  cc == o.cc &&
229
- body_md5_hash == o.body_md5_hash &&
230
- virtual_send == o.virtual_send
227
+ virtual_send == o.virtual_send &&
228
+ inbox_id == o.inbox_id &&
229
+ attachments == o.attachments &&
230
+ to == o.to
231
231
  end
232
232
 
233
233
  # @see the `==` method
@@ -239,7 +239,7 @@ module MailSlurpClient
239
239
  # Calculates hash code according to all attributes.
240
240
  # @return [Integer] Hash code
241
241
  def hash
242
- [id, from, user_id, subject, inbox_id, attachments, to, created_at, bcc, cc, body_md5_hash, virtual_send].hash
242
+ [id, from, user_id, subject, created_at, body_md5_hash, bcc, cc, virtual_send, inbox_id, attachments, to].hash
243
243
  end
244
244
 
245
245
  # Builds the object from hash
@@ -21,14 +21,14 @@ module MailSlurpClient
21
21
  # ID of email thread
22
22
  attr_accessor :id
23
23
 
24
- # Thread subject
25
- attr_accessor :subject
24
+ # User ID
25
+ attr_accessor :user_id
26
26
 
27
27
  # Inbox ID
28
28
  attr_accessor :inbox_id
29
29
 
30
- # User ID
31
- attr_accessor :user_id
30
+ # Thread subject
31
+ attr_accessor :subject
32
32
 
33
33
  # To recipients
34
34
  attr_accessor :to
@@ -53,9 +53,9 @@ module MailSlurpClient
53
53
  {
54
54
  :'name' => :'name',
55
55
  :'id' => :'id',
56
- :'subject' => :'subject',
57
- :'inbox_id' => :'inboxId',
58
56
  :'user_id' => :'userId',
57
+ :'inbox_id' => :'inboxId',
58
+ :'subject' => :'subject',
59
59
  :'to' => :'to',
60
60
  :'created_at' => :'createdAt',
61
61
  :'updated_at' => :'updatedAt',
@@ -70,9 +70,9 @@ module MailSlurpClient
70
70
  {
71
71
  :'name' => :'String',
72
72
  :'id' => :'String',
73
- :'subject' => :'String',
74
- :'inbox_id' => :'String',
75
73
  :'user_id' => :'String',
74
+ :'inbox_id' => :'String',
75
+ :'subject' => :'String',
76
76
  :'to' => :'Array<String>',
77
77
  :'created_at' => :'DateTime',
78
78
  :'updated_at' => :'DateTime',
@@ -111,16 +111,16 @@ module MailSlurpClient
111
111
  self.id = attributes[:'id']
112
112
  end
113
113
 
114
- if attributes.key?(:'subject')
115
- self.subject = attributes[:'subject']
114
+ if attributes.key?(:'user_id')
115
+ self.user_id = attributes[:'user_id']
116
116
  end
117
117
 
118
118
  if attributes.key?(:'inbox_id')
119
119
  self.inbox_id = attributes[:'inbox_id']
120
120
  end
121
121
 
122
- if attributes.key?(:'user_id')
123
- self.user_id = attributes[:'user_id']
122
+ if attributes.key?(:'subject')
123
+ self.subject = attributes[:'subject']
124
124
  end
125
125
 
126
126
  if attributes.key?(:'to')
@@ -162,14 +162,14 @@ module MailSlurpClient
162
162
  invalid_properties.push('invalid value for "id", id cannot be nil.')
163
163
  end
164
164
 
165
- if @inbox_id.nil?
166
- invalid_properties.push('invalid value for "inbox_id", inbox_id cannot be nil.')
167
- end
168
-
169
165
  if @user_id.nil?
170
166
  invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
171
167
  end
172
168
 
169
+ if @inbox_id.nil?
170
+ invalid_properties.push('invalid value for "inbox_id", inbox_id cannot be nil.')
171
+ end
172
+
173
173
  if @to.nil?
174
174
  invalid_properties.push('invalid value for "to", to cannot be nil.')
175
175
  end
@@ -193,8 +193,8 @@ module MailSlurpClient
193
193
  # @return true if the model is valid
194
194
  def valid?
195
195
  return false if @id.nil?
196
- return false if @inbox_id.nil?
197
196
  return false if @user_id.nil?
197
+ return false if @inbox_id.nil?
198
198
  return false if @to.nil?
199
199
  return false if @created_at.nil?
200
200
  return false if @updated_at.nil?
@@ -209,9 +209,9 @@ module MailSlurpClient
209
209
  self.class == o.class &&
210
210
  name == o.name &&
211
211
  id == o.id &&
212
- subject == o.subject &&
213
- inbox_id == o.inbox_id &&
214
212
  user_id == o.user_id &&
213
+ inbox_id == o.inbox_id &&
214
+ subject == o.subject &&
215
215
  to == o.to &&
216
216
  created_at == o.created_at &&
217
217
  updated_at == o.updated_at &&
@@ -229,7 +229,7 @@ module MailSlurpClient
229
229
  # Calculates hash code according to all attributes.
230
230
  # @return [Integer] Hash code
231
231
  def hash
232
- [name, id, subject, inbox_id, user_id, to, created_at, updated_at, bcc, cc, alias_id].hash
232
+ [name, id, user_id, inbox_id, subject, to, created_at, updated_at, bcc, cc, alias_id].hash
233
233
  end
234
234
 
235
235
  # Builds the object from hash
@@ -19,10 +19,10 @@ module MailSlurpClient
19
19
 
20
20
  attr_accessor :id
21
21
 
22
- attr_accessor :inbox_id
23
-
24
22
  attr_accessor :user_id
25
23
 
24
+ attr_accessor :inbox_id
25
+
26
26
  attr_accessor :sent_email_id
27
27
 
28
28
  attr_accessor :created_at
@@ -38,8 +38,8 @@ module MailSlurpClient
38
38
  {
39
39
  :'name' => :'name',
40
40
  :'id' => :'id',
41
- :'inbox_id' => :'inboxId',
42
41
  :'user_id' => :'userId',
42
+ :'inbox_id' => :'inboxId',
43
43
  :'sent_email_id' => :'sentEmailId',
44
44
  :'created_at' => :'createdAt',
45
45
  :'recipient' => :'recipient',
@@ -53,8 +53,8 @@ module MailSlurpClient
53
53
  {
54
54
  :'name' => :'String',
55
55
  :'id' => :'String',
56
- :'inbox_id' => :'String',
57
56
  :'user_id' => :'String',
57
+ :'inbox_id' => :'String',
58
58
  :'sent_email_id' => :'String',
59
59
  :'created_at' => :'DateTime',
60
60
  :'recipient' => :'String',
@@ -92,14 +92,14 @@ module MailSlurpClient
92
92
  self.id = attributes[:'id']
93
93
  end
94
94
 
95
- if attributes.key?(:'inbox_id')
96
- self.inbox_id = attributes[:'inbox_id']
97
- end
98
-
99
95
  if attributes.key?(:'user_id')
100
96
  self.user_id = attributes[:'user_id']
101
97
  end
102
98
 
99
+ if attributes.key?(:'inbox_id')
100
+ self.inbox_id = attributes[:'inbox_id']
101
+ end
102
+
103
103
  if attributes.key?(:'sent_email_id')
104
104
  self.sent_email_id = attributes[:'sent_email_id']
105
105
  end
@@ -161,8 +161,8 @@ module MailSlurpClient
161
161
  self.class == o.class &&
162
162
  name == o.name &&
163
163
  id == o.id &&
164
- inbox_id == o.inbox_id &&
165
164
  user_id == o.user_id &&
165
+ inbox_id == o.inbox_id &&
166
166
  sent_email_id == o.sent_email_id &&
167
167
  created_at == o.created_at &&
168
168
  recipient == o.recipient &&
@@ -179,7 +179,7 @@ module MailSlurpClient
179
179
  # Calculates hash code according to all attributes.
180
180
  # @return [Integer] Hash code
181
181
  def hash
182
- [name, id, inbox_id, user_id, sent_email_id, created_at, recipient, seen, seen_at].hash
182
+ [name, id, user_id, inbox_id, sent_email_id, created_at, recipient, seen, seen_at].hash
183
183
  end
184
184
 
185
185
  # Builds the object from hash
@@ -55,6 +55,11 @@ module MailSlurpClient
55
55
  # List of attributes with nullable: true
56
56
  def self.openapi_nullable
57
57
  Set.new([
58
+ :'name',
59
+ :'description',
60
+ :'tags',
61
+ :'expires_at',
62
+ :'favourite'
58
63
  ])
59
64
  end
60
65
 
@@ -45,6 +45,8 @@ module MailSlurpClient
45
45
  # List of attributes with nullable: true
46
46
  def self.openapi_nullable
47
47
  Set.new([
48
+ :'content_type',
49
+ :'filename',
48
50
  ])
49
51
  end
50
52
 
@@ -44,8 +44,11 @@ module MailSlurpClient
44
44
 
45
45
  attr_accessor :updated_at
46
46
 
47
+ # Webhook trigger event name
47
48
  attr_accessor :event_name
48
49
 
50
+ attr_accessor :request_headers
51
+
49
52
  class EnumAttributeValidator
50
53
  attr_reader :datatype
51
54
  attr_reader :allowable_values
@@ -81,7 +84,8 @@ module MailSlurpClient
81
84
  :'payload_json_schema' => :'payloadJsonSchema',
82
85
  :'created_at' => :'createdAt',
83
86
  :'updated_at' => :'updatedAt',
84
- :'event_name' => :'eventName'
87
+ :'event_name' => :'eventName',
88
+ :'request_headers' => :'requestHeaders'
85
89
  }
86
90
  end
87
91
 
@@ -98,13 +102,18 @@ module MailSlurpClient
98
102
  :'payload_json_schema' => :'String',
99
103
  :'created_at' => :'DateTime',
100
104
  :'updated_at' => :'DateTime',
101
- :'event_name' => :'String'
105
+ :'event_name' => :'String',
106
+ :'request_headers' => :'WebhookHeaders'
102
107
  }
103
108
  end
104
109
 
105
110
  # List of attributes with nullable: true
106
111
  def self.openapi_nullable
107
112
  Set.new([
113
+ :'name',
114
+ :'inbox_id',
115
+ :'created_at',
116
+ :'event_name',
108
117
  ])
109
118
  end
110
119
 
@@ -166,6 +175,10 @@ module MailSlurpClient
166
175
  if attributes.key?(:'event_name')
167
176
  self.event_name = attributes[:'event_name']
168
177
  end
178
+
179
+ if attributes.key?(:'request_headers')
180
+ self.request_headers = attributes[:'request_headers']
181
+ end
169
182
  end
170
183
 
171
184
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -196,10 +209,6 @@ module MailSlurpClient
196
209
  invalid_properties.push('invalid value for "payload_json_schema", payload_json_schema cannot be nil.')
197
210
  end
198
211
 
199
- if @created_at.nil?
200
- invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
201
- end
202
-
203
212
  if @updated_at.nil?
204
213
  invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
205
214
  end
@@ -218,7 +227,6 @@ module MailSlurpClient
218
227
  method_validator = EnumAttributeValidator.new('String', ["GET", "HEAD", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "TRACE"])
219
228
  return false unless method_validator.valid?(@method)
220
229
  return false if @payload_json_schema.nil?
221
- return false if @created_at.nil?
222
230
  return false if @updated_at.nil?
223
231
  event_name_validator = EnumAttributeValidator.new('String', ["EMAIL_RECEIVED", "NEW_EMAIL", "NEW_CONTACT", "NEW_ATTACHMENT", "EMAIL_OPENED", "EMAIL_READ", "BOUNCE", "BOUNCE_RECIPIENT", "NEW_SMS"])
224
232
  return false unless event_name_validator.valid?(@event_name)
@@ -260,7 +268,8 @@ module MailSlurpClient
260
268
  payload_json_schema == o.payload_json_schema &&
261
269
  created_at == o.created_at &&
262
270
  updated_at == o.updated_at &&
263
- event_name == o.event_name
271
+ event_name == o.event_name &&
272
+ request_headers == o.request_headers
264
273
  end
265
274
 
266
275
  # @see the `==` method
@@ -272,7 +281,7 @@ module MailSlurpClient
272
281
  # Calculates hash code according to all attributes.
273
282
  # @return [Integer] Hash code
274
283
  def hash
275
- [id, user_id, basic_auth, name, inbox_id, url, method, payload_json_schema, created_at, updated_at, event_name].hash
284
+ [id, user_id, basic_auth, name, inbox_id, url, method, payload_json_schema, created_at, updated_at, event_name, request_headers].hash
276
285
  end
277
286
 
278
287
  # Builds the object from hash