sib-api-v3-sdk 2.0.0 → 2.0.1
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 +4 -4
- data/README.md +11 -9
- data/docs/GetAccountPlan.md +1 -1
- data/docs/GetCampaignStats.md +1 -1
- data/docs/GetContactCampaignStats.md +4 -4
- data/docs/GetContactCampaignStatsClicked.md +1 -1
- data/docs/GetContactCampaignStatsOpened.md +1 -1
- data/docs/GetContactCampaignStatsUnsubscriptions.md +2 -2
- data/docs/GetEmailCampaign.md +1 -1
- data/docs/GetEmailEventReportEvents.md +2 -0
- data/docs/GetExtendedCampaignOverview.md +1 -1
- data/docs/GetExtendedContactDetails.md +1 -0
- data/docs/GetExtendedContactDetailsStatistics.md +15 -0
- data/docs/GetExtendedContactDetailsStatisticsClicked.md +9 -0
- data/docs/{GetContactCampaignStatsLinks.md → GetExtendedContactDetailsStatisticsLinks.md} +2 -2
- data/docs/{GetContactCampaignStatsMessagesSent.md → GetExtendedContactDetailsStatisticsMessagesSent.md} +2 -2
- data/docs/GetExtendedContactDetailsStatisticsOpened.md +11 -0
- data/docs/GetExtendedContactDetailsStatisticsUnsubscriptions.md +9 -0
- data/docs/{GetContactCampaignStatsUnsubscriptionsAdminUnsubscription.md → GetExtendedContactDetailsStatisticsUnsubscriptionsAdminUnsubscription.md} +2 -2
- data/docs/{GetContactCampaignStatsUnsubscriptionsUserUnsubscription.md → GetExtendedContactDetailsStatisticsUnsubscriptionsUserUnsubscription.md} +2 -2
- data/docs/GetExtendedList.md +1 -1
- data/docs/GetLists.md +1 -1
- data/docs/GetWebhook.md +2 -2
- data/lib/sib-api-v3-sdk.rb +8 -6
- data/lib/sib-api-v3-sdk/models/get_account_plan.rb +1 -1
- data/lib/sib-api-v3-sdk/models/get_campaign_stats.rb +0 -5
- data/lib/sib-api-v3-sdk/models/get_contact_campaign_stats.rb +4 -4
- data/lib/sib-api-v3-sdk/models/get_contact_campaign_stats_clicked.rb +1 -1
- data/lib/sib-api-v3-sdk/models/get_contact_campaign_stats_opened.rb +20 -1
- data/lib/sib-api-v3-sdk/models/get_contact_campaign_stats_unsubscriptions.rb +2 -2
- data/lib/sib-api-v3-sdk/models/get_email_campaign.rb +0 -5
- data/lib/sib-api-v3-sdk/models/get_email_event_report_events.rb +24 -4
- data/lib/sib-api-v3-sdk/models/get_extended_campaign_overview.rb +0 -5
- data/lib/sib-api-v3-sdk/models/get_extended_contact_details.rb +13 -4
- data/lib/sib-api-v3-sdk/models/get_extended_contact_details_statistics.rb +272 -0
- data/lib/sib-api-v3-sdk/models/{get_contact_campaign_stats_messages_sent.rb → get_extended_contact_details_statistics_clicked.rb} +14 -12
- data/lib/sib-api-v3-sdk/models/{get_contact_campaign_stats_links.rb → get_extended_contact_details_statistics_links.rb} +21 -2
- data/lib/sib-api-v3-sdk/models/get_extended_contact_details_statistics_messages_sent.rb +228 -0
- data/lib/sib-api-v3-sdk/models/get_extended_contact_details_statistics_opened.rb +258 -0
- data/lib/sib-api-v3-sdk/models/{get_lists_folder.rb → get_extended_contact_details_statistics_unsubscriptions.rb} +27 -23
- data/lib/sib-api-v3-sdk/models/{get_contact_campaign_stats_unsubscriptions_admin_unsubscription.rb → get_extended_contact_details_statistics_unsubscriptions_admin_unsubscription.rb} +21 -2
- data/lib/sib-api-v3-sdk/models/{get_contact_campaign_stats_unsubscriptions_user_unsubscription.rb → get_extended_contact_details_statistics_unsubscriptions_user_unsubscription.rb} +21 -2
- data/lib/sib-api-v3-sdk/models/get_extended_list.rb +6 -6
- data/lib/sib-api-v3-sdk/models/get_lists.rb +19 -19
- data/lib/sib-api-v3-sdk/models/get_webhook.rb +12 -12
- data/lib/sib-api-v3-sdk/version.rb +1 -1
- data/spec/models/get_email_event_report_events_spec.rb +12 -0
- data/spec/models/get_extended_contact_details_spec.rb +6 -0
- data/spec/models/{get_lists_folder_spec.rb → get_extended_contact_details_statistics_clicked_spec.rb} +8 -8
- data/spec/models/{get_contact_campaign_stats_links_spec.rb → get_extended_contact_details_statistics_links_spec.rb} +6 -6
- data/spec/models/{get_contact_campaign_stats_messages_sent_spec.rb → get_extended_contact_details_statistics_messages_sent_spec.rb} +6 -6
- data/spec/models/get_extended_contact_details_statistics_opened_spec.rb +60 -0
- data/spec/models/get_extended_contact_details_statistics_spec.rb +84 -0
- data/spec/models/{get_contact_campaign_stats_unsubscriptions_admin_unsubscription_spec.rb → get_extended_contact_details_statistics_unsubscriptions_admin_unsubscription_spec.rb} +6 -6
- data/spec/models/get_extended_contact_details_statistics_unsubscriptions_spec.rb +48 -0
- data/spec/models/{get_contact_campaign_stats_unsubscriptions_user_unsubscription_spec.rb → get_extended_contact_details_statistics_unsubscriptions_user_unsubscription_spec.rb} +6 -6
- data/spec/models/get_lists_spec.rb +2 -2
- metadata +34 -27
- data/docs/GetListsFolder.md +0 -9
- data/docs/GetListsLists.md +0 -8
- data/git_push.sh +0 -55
- data/lib/sib-api-v3-sdk/models/get_lists_lists.rb +0 -188
- data/spec/models/get_lists_lists_spec.rb +0 -42
@@ -33,8 +33,8 @@ module SibApiV3Sdk
|
|
33
33
|
# Attribute type mapping.
|
34
34
|
def self.swagger_types
|
35
35
|
{
|
36
|
-
:'user_unsubscription' => :'Array<
|
37
|
-
:'admin_unsubscription' => :'Array<
|
36
|
+
:'user_unsubscription' => :'Array<GetExtendedContactDetailsStatisticsUnsubscriptionsUserUnsubscription>',
|
37
|
+
:'admin_unsubscription' => :'Array<GetExtendedContactDetailsStatisticsUnsubscriptionsAdminUnsubscription>'
|
38
38
|
}
|
39
39
|
end
|
40
40
|
|
@@ -290,10 +290,6 @@ module SibApiV3Sdk
|
|
290
290
|
invalid_properties.push("invalid value for 'html_content', html_content cannot be nil.")
|
291
291
|
end
|
292
292
|
|
293
|
-
if @share_link.nil?
|
294
|
-
invalid_properties.push("invalid value for 'share_link', share_link cannot be nil.")
|
295
|
-
end
|
296
|
-
|
297
293
|
if @tag.nil?
|
298
294
|
invalid_properties.push("invalid value for 'tag', tag cannot be nil.")
|
299
295
|
end
|
@@ -336,7 +332,6 @@ module SibApiV3Sdk
|
|
336
332
|
return false if @reply_to.nil?
|
337
333
|
return false if @to_field.nil?
|
338
334
|
return false if @html_content.nil?
|
339
|
-
return false if @share_link.nil?
|
340
335
|
return false if @tag.nil?
|
341
336
|
return false if @created_at.nil?
|
342
337
|
return false if @created_at !~ Regexp.new(/^([1-9]\d{3}-\d{2}-\d{2} [0-2]\d:[0-5]\d:[0-5]\d)?$/)
|
@@ -21,6 +21,9 @@ module SibApiV3Sdk
|
|
21
21
|
# Date on which the event has been generated
|
22
22
|
attr_accessor :date
|
23
23
|
|
24
|
+
# Subject of the event
|
25
|
+
attr_accessor :subject
|
26
|
+
|
24
27
|
# Message ID which generated the event
|
25
28
|
attr_accessor :message_id
|
26
29
|
|
@@ -36,6 +39,9 @@ module SibApiV3Sdk
|
|
36
39
|
# IP from which the user has opened the email or clicked on the link (only availble if the event is opened or clicks)
|
37
40
|
attr_accessor :ip
|
38
41
|
|
42
|
+
# The link which is sent to the user (only availble if the event is requests or opened or clicks)
|
43
|
+
attr_accessor :link
|
44
|
+
|
39
45
|
class EnumAttributeValidator
|
40
46
|
attr_reader :datatype
|
41
47
|
attr_reader :allowable_values
|
@@ -63,11 +69,13 @@ module SibApiV3Sdk
|
|
63
69
|
{
|
64
70
|
:'email' => :'email',
|
65
71
|
:'date' => :'date',
|
72
|
+
:'subject' => :'subject',
|
66
73
|
:'message_id' => :'messageId',
|
67
74
|
:'event' => :'event',
|
68
75
|
:'reason' => :'reason',
|
69
76
|
:'tag' => :'tag',
|
70
|
-
:'ip' => :'ip'
|
77
|
+
:'ip' => :'ip',
|
78
|
+
:'link' => :'link'
|
71
79
|
}
|
72
80
|
end
|
73
81
|
|
@@ -76,11 +84,13 @@ module SibApiV3Sdk
|
|
76
84
|
{
|
77
85
|
:'email' => :'String',
|
78
86
|
:'date' => :'Date',
|
87
|
+
:'subject' => :'String',
|
79
88
|
:'message_id' => :'String',
|
80
89
|
:'event' => :'String',
|
81
90
|
:'reason' => :'String',
|
82
91
|
:'tag' => :'String',
|
83
|
-
:'ip' => :'String'
|
92
|
+
:'ip' => :'String',
|
93
|
+
:'link' => :'String'
|
84
94
|
}
|
85
95
|
end
|
86
96
|
|
@@ -100,6 +110,10 @@ module SibApiV3Sdk
|
|
100
110
|
self.date = attributes[:'date']
|
101
111
|
end
|
102
112
|
|
113
|
+
if attributes.has_key?(:'subject')
|
114
|
+
self.subject = attributes[:'subject']
|
115
|
+
end
|
116
|
+
|
103
117
|
if attributes.has_key?(:'messageId')
|
104
118
|
self.message_id = attributes[:'messageId']
|
105
119
|
end
|
@@ -120,6 +134,10 @@ module SibApiV3Sdk
|
|
120
134
|
self.ip = attributes[:'ip']
|
121
135
|
end
|
122
136
|
|
137
|
+
if attributes.has_key?(:'link')
|
138
|
+
self.link = attributes[:'link']
|
139
|
+
end
|
140
|
+
|
123
141
|
end
|
124
142
|
|
125
143
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -184,11 +202,13 @@ module SibApiV3Sdk
|
|
184
202
|
self.class == o.class &&
|
185
203
|
email == o.email &&
|
186
204
|
date == o.date &&
|
205
|
+
subject == o.subject &&
|
187
206
|
message_id == o.message_id &&
|
188
207
|
event == o.event &&
|
189
208
|
reason == o.reason &&
|
190
209
|
tag == o.tag &&
|
191
|
-
ip == o.ip
|
210
|
+
ip == o.ip &&
|
211
|
+
link == o.link
|
192
212
|
end
|
193
213
|
|
194
214
|
# @see the `==` method
|
@@ -200,7 +220,7 @@ module SibApiV3Sdk
|
|
200
220
|
# Calculates hash code according to all attributes.
|
201
221
|
# @return [Fixnum] Hash code
|
202
222
|
def hash
|
203
|
-
[email, date, message_id, event, reason, tag, ip].hash
|
223
|
+
[email, date, subject, message_id, event, reason, tag, ip, link].hash
|
204
224
|
end
|
205
225
|
|
206
226
|
# Builds the object from hash
|
@@ -290,10 +290,6 @@ module SibApiV3Sdk
|
|
290
290
|
invalid_properties.push("invalid value for 'html_content', html_content cannot be nil.")
|
291
291
|
end
|
292
292
|
|
293
|
-
if @share_link.nil?
|
294
|
-
invalid_properties.push("invalid value for 'share_link', share_link cannot be nil.")
|
295
|
-
end
|
296
|
-
|
297
293
|
if @tag.nil?
|
298
294
|
invalid_properties.push("invalid value for 'tag', tag cannot be nil.")
|
299
295
|
end
|
@@ -336,7 +332,6 @@ module SibApiV3Sdk
|
|
336
332
|
return false if @reply_to.nil?
|
337
333
|
return false if @to_field.nil?
|
338
334
|
return false if @html_content.nil?
|
339
|
-
return false if @share_link.nil?
|
340
335
|
return false if @tag.nil?
|
341
336
|
return false if @created_at.nil?
|
342
337
|
return false if @created_at !~ Regexp.new(/^([1-9]\d{3}-\d{2}-\d{2} [0-2]\d:[0-5]\d:[0-5]\d)?$/)
|
@@ -36,6 +36,8 @@ module SibApiV3Sdk
|
|
36
36
|
|
37
37
|
attr_accessor :attributes
|
38
38
|
|
39
|
+
attr_accessor :statistics
|
40
|
+
|
39
41
|
|
40
42
|
# Attribute mapping from ruby-style variable name to JSON key.
|
41
43
|
def self.attribute_map
|
@@ -47,7 +49,8 @@ module SibApiV3Sdk
|
|
47
49
|
:'modified_at' => :'modifiedAt',
|
48
50
|
:'list_ids' => :'listIds',
|
49
51
|
:'list_unsubscribed' => :'listUnsubscribed',
|
50
|
-
:'attributes' => :'attributes'
|
52
|
+
:'attributes' => :'attributes',
|
53
|
+
:'statistics' => :'statistics'
|
51
54
|
}
|
52
55
|
end
|
53
56
|
|
@@ -61,7 +64,8 @@ module SibApiV3Sdk
|
|
61
64
|
:'modified_at' => :'String',
|
62
65
|
:'list_ids' => :'Array<Integer>',
|
63
66
|
:'list_unsubscribed' => :'Array<Integer>',
|
64
|
-
:'attributes' => :'Hash<String, String>'
|
67
|
+
:'attributes' => :'Hash<String, String>',
|
68
|
+
:'statistics' => :'GetExtendedContactDetailsStatistics'
|
65
69
|
}
|
66
70
|
end
|
67
71
|
|
@@ -111,6 +115,10 @@ module SibApiV3Sdk
|
|
111
115
|
end
|
112
116
|
end
|
113
117
|
|
118
|
+
if attributes.has_key?(:'statistics')
|
119
|
+
self.statistics = attributes[:'statistics']
|
120
|
+
end
|
121
|
+
|
114
122
|
end
|
115
123
|
|
116
124
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -192,7 +200,8 @@ module SibApiV3Sdk
|
|
192
200
|
modified_at == o.modified_at &&
|
193
201
|
list_ids == o.list_ids &&
|
194
202
|
list_unsubscribed == o.list_unsubscribed &&
|
195
|
-
attributes == o.attributes
|
203
|
+
attributes == o.attributes &&
|
204
|
+
statistics == o.statistics
|
196
205
|
end
|
197
206
|
|
198
207
|
# @see the `==` method
|
@@ -204,7 +213,7 @@ module SibApiV3Sdk
|
|
204
213
|
# Calculates hash code according to all attributes.
|
205
214
|
# @return [Fixnum] Hash code
|
206
215
|
def hash
|
207
|
-
[email, id, email_blacklisted, sms_blacklisted, modified_at, list_ids, list_unsubscribed, attributes].hash
|
216
|
+
[email, id, email_blacklisted, sms_blacklisted, modified_at, list_ids, list_unsubscribed, attributes, statistics].hash
|
208
217
|
end
|
209
218
|
|
210
219
|
# Builds the object from hash
|
@@ -0,0 +1,272 @@
|
|
1
|
+
=begin
|
2
|
+
#SendinBlue API
|
3
|
+
|
4
|
+
#SendinBlue provide a RESTFul API that can be used with any languages. With this API, you will be able to : - Manage your campaigns and get the statistics - Manage your contacts - Send transactional Emails and SMS - and much more... You can download our wrappers at https://github.com/orgs/sendinblue **Possible responses** | Code | Message | | :-------------: | ------------- | | 200 | OK. Successful Request | | 201 | OK. Successful Creation | | 202 | OK. Request accepted | | 204 | OK. Successful Update/Deletion | | 400 | Error. Bad Request | | 401 | Error. Authentication Needed | | 402 | Error. Not enough credit, plan upgrade needed | | 403 | Error. Permission denied | | 404 | Error. Object does not exist | | 405 | Error. Method not allowed |
|
5
|
+
|
6
|
+
OpenAPI spec version: 3.0.0
|
7
|
+
Contact: contact@sendinblue.com
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.2.3
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module SibApiV3Sdk
|
16
|
+
# Campaign statistics of the contact
|
17
|
+
class GetExtendedContactDetailsStatistics
|
18
|
+
# Listing of the sent campaign for the contact
|
19
|
+
attr_accessor :messages_sent
|
20
|
+
|
21
|
+
# Listing of the hardbounes generated by the contact
|
22
|
+
attr_accessor :hard_bounces
|
23
|
+
|
24
|
+
# Listing of the softbounes generated by the contact
|
25
|
+
attr_accessor :soft_bounces
|
26
|
+
|
27
|
+
# Listing of the complaints generated by the contact
|
28
|
+
attr_accessor :complaints
|
29
|
+
|
30
|
+
attr_accessor :unsubscriptions
|
31
|
+
|
32
|
+
# Listing of the openings generated by the contact
|
33
|
+
attr_accessor :opened
|
34
|
+
|
35
|
+
# Listing of the clicks generated by the contact
|
36
|
+
attr_accessor :clicked
|
37
|
+
|
38
|
+
# Listing of the transactional attributes for the contact
|
39
|
+
attr_accessor :transac_attributes
|
40
|
+
|
41
|
+
|
42
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
43
|
+
def self.attribute_map
|
44
|
+
{
|
45
|
+
:'messages_sent' => :'messagesSent',
|
46
|
+
:'hard_bounces' => :'hardBounces',
|
47
|
+
:'soft_bounces' => :'softBounces',
|
48
|
+
:'complaints' => :'complaints',
|
49
|
+
:'unsubscriptions' => :'unsubscriptions',
|
50
|
+
:'opened' => :'opened',
|
51
|
+
:'clicked' => :'clicked',
|
52
|
+
:'transac_attributes' => :'transacAttributes'
|
53
|
+
}
|
54
|
+
end
|
55
|
+
|
56
|
+
# Attribute type mapping.
|
57
|
+
def self.swagger_types
|
58
|
+
{
|
59
|
+
:'messages_sent' => :'Array<GetExtendedContactDetailsStatisticsMessagesSent>',
|
60
|
+
:'hard_bounces' => :'Array<GetExtendedContactDetailsStatisticsMessagesSent>',
|
61
|
+
:'soft_bounces' => :'Array<GetExtendedContactDetailsStatisticsMessagesSent>',
|
62
|
+
:'complaints' => :'Array<GetExtendedContactDetailsStatisticsMessagesSent>',
|
63
|
+
:'unsubscriptions' => :'GetExtendedContactDetailsStatisticsUnsubscriptions',
|
64
|
+
:'opened' => :'Array<GetExtendedContactDetailsStatisticsOpened>',
|
65
|
+
:'clicked' => :'Array<GetExtendedContactDetailsStatisticsClicked>',
|
66
|
+
:'transac_attributes' => :'Array<Object>'
|
67
|
+
}
|
68
|
+
end
|
69
|
+
|
70
|
+
# Initializes the object
|
71
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
72
|
+
def initialize(attributes = {})
|
73
|
+
return unless attributes.is_a?(Hash)
|
74
|
+
|
75
|
+
# convert string to symbol for hash key
|
76
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
77
|
+
|
78
|
+
if attributes.has_key?(:'messagesSent')
|
79
|
+
if (value = attributes[:'messagesSent']).is_a?(Array)
|
80
|
+
self.messages_sent = value
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
if attributes.has_key?(:'hardBounces')
|
85
|
+
if (value = attributes[:'hardBounces']).is_a?(Array)
|
86
|
+
self.hard_bounces = value
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
if attributes.has_key?(:'softBounces')
|
91
|
+
if (value = attributes[:'softBounces']).is_a?(Array)
|
92
|
+
self.soft_bounces = value
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
if attributes.has_key?(:'complaints')
|
97
|
+
if (value = attributes[:'complaints']).is_a?(Array)
|
98
|
+
self.complaints = value
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
if attributes.has_key?(:'unsubscriptions')
|
103
|
+
self.unsubscriptions = attributes[:'unsubscriptions']
|
104
|
+
end
|
105
|
+
|
106
|
+
if attributes.has_key?(:'opened')
|
107
|
+
if (value = attributes[:'opened']).is_a?(Array)
|
108
|
+
self.opened = value
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
if attributes.has_key?(:'clicked')
|
113
|
+
if (value = attributes[:'clicked']).is_a?(Array)
|
114
|
+
self.clicked = value
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
if attributes.has_key?(:'transacAttributes')
|
119
|
+
if (value = attributes[:'transacAttributes']).is_a?(Array)
|
120
|
+
self.transac_attributes = value
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
end
|
125
|
+
|
126
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
127
|
+
# @return Array for valid properies with the reasons
|
128
|
+
def list_invalid_properties
|
129
|
+
invalid_properties = Array.new
|
130
|
+
return invalid_properties
|
131
|
+
end
|
132
|
+
|
133
|
+
# Check to see if the all the properties in the model are valid
|
134
|
+
# @return true if the model is valid
|
135
|
+
def valid?
|
136
|
+
return true
|
137
|
+
end
|
138
|
+
|
139
|
+
# Checks equality by comparing each attribute.
|
140
|
+
# @param [Object] Object to be compared
|
141
|
+
def ==(o)
|
142
|
+
return true if self.equal?(o)
|
143
|
+
self.class == o.class &&
|
144
|
+
messages_sent == o.messages_sent &&
|
145
|
+
hard_bounces == o.hard_bounces &&
|
146
|
+
soft_bounces == o.soft_bounces &&
|
147
|
+
complaints == o.complaints &&
|
148
|
+
unsubscriptions == o.unsubscriptions &&
|
149
|
+
opened == o.opened &&
|
150
|
+
clicked == o.clicked &&
|
151
|
+
transac_attributes == o.transac_attributes
|
152
|
+
end
|
153
|
+
|
154
|
+
# @see the `==` method
|
155
|
+
# @param [Object] Object to be compared
|
156
|
+
def eql?(o)
|
157
|
+
self == o
|
158
|
+
end
|
159
|
+
|
160
|
+
# Calculates hash code according to all attributes.
|
161
|
+
# @return [Fixnum] Hash code
|
162
|
+
def hash
|
163
|
+
[messages_sent, hard_bounces, soft_bounces, complaints, unsubscriptions, opened, clicked, transac_attributes].hash
|
164
|
+
end
|
165
|
+
|
166
|
+
# Builds the object from hash
|
167
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
168
|
+
# @return [Object] Returns the model itself
|
169
|
+
def build_from_hash(attributes)
|
170
|
+
return nil unless attributes.is_a?(Hash)
|
171
|
+
self.class.swagger_types.each_pair do |key, type|
|
172
|
+
if type =~ /\AArray<(.*)>/i
|
173
|
+
# check to ensure the input is an array given that the the attribute
|
174
|
+
# is documented as an array but the input is not
|
175
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
176
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
177
|
+
end
|
178
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
179
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
180
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
181
|
+
end
|
182
|
+
|
183
|
+
self
|
184
|
+
end
|
185
|
+
|
186
|
+
# Deserializes the data based on type
|
187
|
+
# @param string type Data type
|
188
|
+
# @param string value Value to be deserialized
|
189
|
+
# @return [Object] Deserialized data
|
190
|
+
def _deserialize(type, value)
|
191
|
+
case type.to_sym
|
192
|
+
when :DateTime
|
193
|
+
DateTime.parse(value)
|
194
|
+
when :Date
|
195
|
+
Date.parse(value)
|
196
|
+
when :String
|
197
|
+
value.to_s
|
198
|
+
when :Integer
|
199
|
+
value.to_i
|
200
|
+
when :Float
|
201
|
+
value.to_f
|
202
|
+
when :BOOLEAN
|
203
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
204
|
+
true
|
205
|
+
else
|
206
|
+
false
|
207
|
+
end
|
208
|
+
when :Object
|
209
|
+
# generic object (usually a Hash), return directly
|
210
|
+
value
|
211
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
212
|
+
inner_type = Regexp.last_match[:inner_type]
|
213
|
+
value.map { |v| _deserialize(inner_type, v) }
|
214
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
215
|
+
k_type = Regexp.last_match[:k_type]
|
216
|
+
v_type = Regexp.last_match[:v_type]
|
217
|
+
{}.tap do |hash|
|
218
|
+
value.each do |k, v|
|
219
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
220
|
+
end
|
221
|
+
end
|
222
|
+
else # model
|
223
|
+
temp_model = SibApiV3Sdk.const_get(type).new
|
224
|
+
temp_model.build_from_hash(value)
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
228
|
+
# Returns the string representation of the object
|
229
|
+
# @return [String] String presentation of the object
|
230
|
+
def to_s
|
231
|
+
to_hash.to_s
|
232
|
+
end
|
233
|
+
|
234
|
+
# to_body is an alias to to_hash (backward compatibility)
|
235
|
+
# @return [Hash] Returns the object in the form of hash
|
236
|
+
def to_body
|
237
|
+
to_hash
|
238
|
+
end
|
239
|
+
|
240
|
+
# Returns the object in the form of hash
|
241
|
+
# @return [Hash] Returns the object in the form of hash
|
242
|
+
def to_hash
|
243
|
+
hash = {}
|
244
|
+
self.class.attribute_map.each_pair do |attr, param|
|
245
|
+
value = self.send(attr)
|
246
|
+
next if value.nil?
|
247
|
+
hash[param] = _to_hash(value)
|
248
|
+
end
|
249
|
+
hash
|
250
|
+
end
|
251
|
+
|
252
|
+
# Outputs non-array value in the form of hash
|
253
|
+
# For object, use to_hash. Otherwise, just return the value
|
254
|
+
# @param [Object] value Any valid value
|
255
|
+
# @return [Hash] Returns the value in the form of hash
|
256
|
+
def _to_hash(value)
|
257
|
+
if value.is_a?(Array)
|
258
|
+
value.compact.map{ |v| _to_hash(v) }
|
259
|
+
elsif value.is_a?(Hash)
|
260
|
+
{}.tap do |hash|
|
261
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
262
|
+
end
|
263
|
+
elsif value.respond_to? :to_hash
|
264
|
+
value.to_hash
|
265
|
+
else
|
266
|
+
value
|
267
|
+
end
|
268
|
+
end
|
269
|
+
|
270
|
+
end
|
271
|
+
|
272
|
+
end
|