sib-api-v3-sdk 3.0.1 → 4.0.0

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -11
  3. data/docs/AddContactToList.md +8 -0
  4. data/docs/AddCredits.md +2 -2
  5. data/docs/ContactsApi.md +9 -9
  6. data/docs/CreateReseller.md +8 -0
  7. data/docs/GetChildInfo.md +2 -2
  8. data/docs/GetChildInfoApiKeys.md +2 -3
  9. data/docs/GetChildInfoApiKeysV2.md +9 -0
  10. data/docs/GetChildInfoApiKeysV3.md +9 -0
  11. data/docs/GetEmailCampaign.md +2 -0
  12. data/docs/GetSmsCampaign.md +2 -0
  13. data/docs/ListsApi.md +9 -9
  14. data/docs/ManageIp.md +1 -1
  15. data/docs/RemoveContactFromList.md +9 -0
  16. data/docs/RemoveCredits.md +2 -2
  17. data/docs/ResellerApi.md +45 -45
  18. data/docs/SendSmtpEmail.md +7 -5
  19. data/docs/UpdateChild.md +0 -1
  20. data/lib/sib-api-v3-sdk.rb +5 -2
  21. data/lib/sib-api-v3-sdk/api/contacts_api.rb +7 -7
  22. data/lib/sib-api-v3-sdk/api/lists_api.rb +7 -7
  23. data/lib/sib-api-v3-sdk/api/reseller_api.rb +82 -82
  24. data/lib/sib-api-v3-sdk/models/{add_remove_contact_to_list.rb → add_contact_to_list.rb} +2 -2
  25. data/lib/sib-api-v3-sdk/models/add_credits.rb +2 -2
  26. data/lib/sib-api-v3-sdk/models/create_reseller.rb +194 -0
  27. data/lib/sib-api-v3-sdk/models/error_model.rb +2 -2
  28. data/lib/sib-api-v3-sdk/models/get_child_info.rb +3 -6
  29. data/lib/sib-api-v3-sdk/models/get_child_info_api_keys.rb +21 -34
  30. data/lib/sib-api-v3-sdk/models/get_child_info_api_keys_v2.rb +209 -0
  31. data/lib/sib-api-v3-sdk/models/get_child_info_api_keys_v3.rb +209 -0
  32. data/lib/sib-api-v3-sdk/models/get_email_campaign.rb +32 -4
  33. data/lib/sib-api-v3-sdk/models/get_sms_campaign.rb +32 -4
  34. data/lib/sib-api-v3-sdk/models/manage_ip.rb +8 -8
  35. data/lib/sib-api-v3-sdk/models/{get_child_info_ips.rb → remove_contact_from_list.rb} +18 -26
  36. data/lib/sib-api-v3-sdk/models/remove_credits.rb +2 -2
  37. data/lib/sib-api-v3-sdk/models/send_smtp_email.rb +29 -23
  38. data/lib/sib-api-v3-sdk/models/send_smtp_email_sender.rb +1 -1
  39. data/lib/sib-api-v3-sdk/models/update_child.rb +4 -15
  40. data/lib/sib-api-v3-sdk/version.rb +1 -1
  41. data/spec/api/contacts_api_spec.rb +2 -2
  42. data/spec/api/lists_api_spec.rb +2 -2
  43. data/spec/api/reseller_api_spec.rb +12 -12
  44. data/spec/models/{add_remove_contact_to_list_spec.rb → add_contact_to_list_spec.rb} +6 -6
  45. data/spec/models/create_reseller_spec.rb +42 -0
  46. data/spec/models/error_model_spec.rb +1 -1
  47. data/spec/models/get_child_info_api_keys_spec.rb +2 -8
  48. data/spec/models/{get_child_info_ips_spec.rb → get_child_info_api_keys_v2_spec.rb} +8 -8
  49. data/spec/models/get_child_info_api_keys_v3_spec.rb +48 -0
  50. data/spec/models/get_email_campaign_spec.rb +12 -0
  51. data/spec/models/get_sms_campaign_spec.rb +12 -0
  52. data/spec/models/manage_ip_spec.rb +1 -1
  53. data/spec/models/remove_contact_from_list_spec.rb +48 -0
  54. data/spec/models/send_smtp_email_spec.rb +12 -0
  55. data/spec/models/update_child_spec.rb +0 -6
  56. metadata +22 -10
  57. data/docs/AddRemoveContactToList.md +0 -8
  58. data/docs/GetChildInfoIps.md +0 -9
@@ -14,8 +14,8 @@ require 'date'
14
14
 
15
15
  module SibApiV3Sdk
16
16
 
17
- class AddRemoveContactToList
18
- # Emails to add or remove from a list
17
+ class AddContactToList
18
+ # Emails to add to a list
19
19
  attr_accessor :emails
20
20
 
21
21
 
@@ -15,10 +15,10 @@ require 'date'
15
15
  module SibApiV3Sdk
16
16
 
17
17
  class AddCredits
18
- # SMS credits to be added to the child account
18
+ # Required if email credits are empty. SMS credits to be added to the child account
19
19
  attr_accessor :sms
20
20
 
21
- # Email credits to be added to the child account
21
+ # Required if sms credits are empty. Email credits to be added to the child account
22
22
  attr_accessor :email
23
23
 
24
24
 
@@ -0,0 +1,194 @@
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.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module SibApiV3Sdk
16
+
17
+ class CreateReseller
18
+ # AuthKey of Reseller child created
19
+ attr_accessor :auth_key
20
+
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'auth_key' => :'authKey'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.swagger_types
31
+ {
32
+ :'auth_key' => :'String'
33
+ }
34
+ end
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ def initialize(attributes = {})
39
+ return unless attributes.is_a?(Hash)
40
+
41
+ # convert string to symbol for hash key
42
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
43
+
44
+ if attributes.has_key?(:'authKey')
45
+ self.auth_key = attributes[:'authKey']
46
+ end
47
+
48
+ end
49
+
50
+ # Show invalid properties with the reasons. Usually used together with valid?
51
+ # @return Array for valid properties with the reasons
52
+ def list_invalid_properties
53
+ invalid_properties = Array.new
54
+ if @auth_key.nil?
55
+ invalid_properties.push("invalid value for 'auth_key', auth_key cannot be nil.")
56
+ end
57
+
58
+ return invalid_properties
59
+ end
60
+
61
+ # Check to see if the all the properties in the model are valid
62
+ # @return true if the model is valid
63
+ def valid?
64
+ return false if @auth_key.nil?
65
+ return true
66
+ end
67
+
68
+ # Checks equality by comparing each attribute.
69
+ # @param [Object] Object to be compared
70
+ def ==(o)
71
+ return true if self.equal?(o)
72
+ self.class == o.class &&
73
+ auth_key == o.auth_key
74
+ end
75
+
76
+ # @see the `==` method
77
+ # @param [Object] Object to be compared
78
+ def eql?(o)
79
+ self == o
80
+ end
81
+
82
+ # Calculates hash code according to all attributes.
83
+ # @return [Fixnum] Hash code
84
+ def hash
85
+ [auth_key].hash
86
+ end
87
+
88
+ # Builds the object from hash
89
+ # @param [Hash] attributes Model attributes in the form of hash
90
+ # @return [Object] Returns the model itself
91
+ def build_from_hash(attributes)
92
+ return nil unless attributes.is_a?(Hash)
93
+ self.class.swagger_types.each_pair do |key, type|
94
+ if type =~ /\AArray<(.*)>/i
95
+ # check to ensure the input is an array given that the the attribute
96
+ # is documented as an array but the input is not
97
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
98
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
99
+ end
100
+ elsif !attributes[self.class.attribute_map[key]].nil?
101
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
102
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
103
+ end
104
+
105
+ self
106
+ end
107
+
108
+ # Deserializes the data based on type
109
+ # @param string type Data type
110
+ # @param string value Value to be deserialized
111
+ # @return [Object] Deserialized data
112
+ def _deserialize(type, value)
113
+ case type.to_sym
114
+ when :DateTime
115
+ DateTime.parse(value)
116
+ when :Date
117
+ Date.parse(value)
118
+ when :String
119
+ value.to_s
120
+ when :Integer
121
+ value.to_i
122
+ when :Float
123
+ value.to_f
124
+ when :BOOLEAN
125
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
126
+ true
127
+ else
128
+ false
129
+ end
130
+ when :Object
131
+ # generic object (usually a Hash), return directly
132
+ value
133
+ when /\AArray<(?<inner_type>.+)>\z/
134
+ inner_type = Regexp.last_match[:inner_type]
135
+ value.map { |v| _deserialize(inner_type, v) }
136
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
137
+ k_type = Regexp.last_match[:k_type]
138
+ v_type = Regexp.last_match[:v_type]
139
+ {}.tap do |hash|
140
+ value.each do |k, v|
141
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
142
+ end
143
+ end
144
+ else # model
145
+ temp_model = SibApiV3Sdk.const_get(type).new
146
+ temp_model.build_from_hash(value)
147
+ end
148
+ end
149
+
150
+ # Returns the string representation of the object
151
+ # @return [String] String presentation of the object
152
+ def to_s
153
+ to_hash.to_s
154
+ end
155
+
156
+ # to_body is an alias to to_hash (backward compatibility)
157
+ # @return [Hash] Returns the object in the form of hash
158
+ def to_body
159
+ to_hash
160
+ end
161
+
162
+ # Returns the object in the form of hash
163
+ # @return [Hash] Returns the object in the form of hash
164
+ def to_hash
165
+ hash = {}
166
+ self.class.attribute_map.each_pair do |attr, param|
167
+ value = self.send(attr)
168
+ next if value.nil?
169
+ hash[param] = _to_hash(value)
170
+ end
171
+ hash
172
+ end
173
+
174
+ # Outputs non-array value in the form of hash
175
+ # For object, use to_hash. Otherwise, just return the value
176
+ # @param [Object] value Any valid value
177
+ # @return [Hash] Returns the value in the form of hash
178
+ def _to_hash(value)
179
+ if value.is_a?(Array)
180
+ value.compact.map{ |v| _to_hash(v) }
181
+ elsif value.is_a?(Hash)
182
+ {}.tap do |hash|
183
+ value.each { |k, v| hash[k] = _to_hash(v) }
184
+ end
185
+ elsif value.respond_to? :to_hash
186
+ value.to_hash
187
+ else
188
+ value
189
+ end
190
+ end
191
+
192
+ end
193
+
194
+ end
@@ -96,7 +96,7 @@ module SibApiV3Sdk
96
96
  # @return true if the model is valid
97
97
  def valid?
98
98
  return false if @code.nil?
99
- code_validator = EnumAttributeValidator.new('String', ["invalid_parameter", "missing_parameter", "out_of_range", "campaign_processing", "campaign_sent", "document_not_found", "reseller_permission", "not_enough_credits", "permission_denied", "duplicate_parameter", "duplicate_request", "method_not_allowed", "unauthorized", "account_under_validation", "not_acceptable"])
99
+ code_validator = EnumAttributeValidator.new('String', ["invalid_parameter", "missing_parameter", "out_of_range", "campaign_processing", "campaign_sent", "document_not_found", "reseller_permission_denied", "not_enough_credits", "permission_denied", "duplicate_parameter", "duplicate_request", "method_not_allowed", "unauthorized", "account_under_validation", "not_acceptable"])
100
100
  return false unless code_validator.valid?(@code)
101
101
  return false if @message.nil?
102
102
  return true
@@ -105,7 +105,7 @@ module SibApiV3Sdk
105
105
  # Custom attribute writer method checking allowed values (enum).
106
106
  # @param [Object] code Object to be assigned
107
107
  def code=(code)
108
- validator = EnumAttributeValidator.new('String', ["invalid_parameter", "missing_parameter", "out_of_range", "campaign_processing", "campaign_sent", "document_not_found", "reseller_permission", "not_enough_credits", "permission_denied", "duplicate_parameter", "duplicate_request", "method_not_allowed", "unauthorized", "account_under_validation", "not_acceptable"])
108
+ validator = EnumAttributeValidator.new('String', ["invalid_parameter", "missing_parameter", "out_of_range", "campaign_processing", "campaign_sent", "document_not_found", "reseller_permission_denied", "not_enough_credits", "permission_denied", "duplicate_parameter", "duplicate_request", "method_not_allowed", "unauthorized", "account_under_validation", "not_acceptable"])
109
109
  unless validator.valid?(code)
110
110
  fail ArgumentError, "invalid value for 'code', must be one of #{validator.allowable_values}."
111
111
  end
@@ -37,7 +37,6 @@ module SibApiV3Sdk
37
37
  # IP(s) associated to a child account user
38
38
  attr_accessor :ips
39
39
 
40
- # API Keys associated to child account
41
40
  attr_accessor :api_keys
42
41
 
43
42
 
@@ -66,8 +65,8 @@ module SibApiV3Sdk
66
65
  :'credits' => :'GetChildInfoCredits',
67
66
  :'statistics' => :'GetChildInfoStatistics',
68
67
  :'password' => :'String',
69
- :'ips' => :'Array<GetChildInfoIps>',
70
- :'api_keys' => :'Array<GetChildInfoApiKeys>'
68
+ :'ips' => :'Array<String>',
69
+ :'api_keys' => :'GetChildInfoApiKeys'
71
70
  }
72
71
  end
73
72
 
@@ -114,9 +113,7 @@ module SibApiV3Sdk
114
113
  end
115
114
 
116
115
  if attributes.has_key?(:'apiKeys')
117
- if (value = attributes[:'apiKeys']).is_a?(Array)
118
- self.api_keys = value
119
- end
116
+ self.api_keys = attributes[:'apiKeys']
120
117
  end
121
118
 
122
119
  end
@@ -13,33 +13,26 @@ Swagger Codegen version: 2.3.1
13
13
  require 'date'
14
14
 
15
15
  module SibApiV3Sdk
16
-
16
+ # API Keys associated to child account
17
17
  class GetChildInfoApiKeys
18
- # Name of the key
19
- attr_accessor :name
20
-
21
- # API Key
22
- attr_accessor :key
18
+ attr_accessor :v2
23
19
 
24
- # Secret Key associated to the API Key (in case v1 Key is used only)
25
- attr_accessor :secret
20
+ attr_accessor :v3
26
21
 
27
22
 
28
23
  # Attribute mapping from ruby-style variable name to JSON key.
29
24
  def self.attribute_map
30
25
  {
31
- :'name' => :'name',
32
- :'key' => :'key',
33
- :'secret' => :'secret'
26
+ :'v2' => :'v2',
27
+ :'v3' => :'v3'
34
28
  }
35
29
  end
36
30
 
37
31
  # Attribute type mapping.
38
32
  def self.swagger_types
39
33
  {
40
- :'name' => :'String',
41
- :'key' => :'String',
42
- :'secret' => :'String'
34
+ :'v2' => :'Array<GetChildInfoApiKeysV2>',
35
+ :'v3' => :'Array<GetChildInfoApiKeysV3>'
43
36
  }
44
37
  end
45
38
 
@@ -51,16 +44,16 @@ module SibApiV3Sdk
51
44
  # convert string to symbol for hash key
52
45
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
53
46
 
54
- if attributes.has_key?(:'name')
55
- self.name = attributes[:'name']
56
- end
57
-
58
- if attributes.has_key?(:'key')
59
- self.key = attributes[:'key']
47
+ if attributes.has_key?(:'v2')
48
+ if (value = attributes[:'v2']).is_a?(Array)
49
+ self.v2 = value
50
+ end
60
51
  end
61
52
 
62
- if attributes.has_key?(:'secret')
63
- self.secret = attributes[:'secret']
53
+ if attributes.has_key?(:'v3')
54
+ if (value = attributes[:'v3']).is_a?(Array)
55
+ self.v3 = value
56
+ end
64
57
  end
65
58
 
66
59
  end
@@ -69,12 +62,8 @@ module SibApiV3Sdk
69
62
  # @return Array for valid properties with the reasons
70
63
  def list_invalid_properties
71
64
  invalid_properties = Array.new
72
- if @name.nil?
73
- invalid_properties.push("invalid value for 'name', name cannot be nil.")
74
- end
75
-
76
- if @key.nil?
77
- invalid_properties.push("invalid value for 'key', key cannot be nil.")
65
+ if @v2.nil?
66
+ invalid_properties.push("invalid value for 'v2', v2 cannot be nil.")
78
67
  end
79
68
 
80
69
  return invalid_properties
@@ -83,8 +72,7 @@ module SibApiV3Sdk
83
72
  # Check to see if the all the properties in the model are valid
84
73
  # @return true if the model is valid
85
74
  def valid?
86
- return false if @name.nil?
87
- return false if @key.nil?
75
+ return false if @v2.nil?
88
76
  return true
89
77
  end
90
78
 
@@ -93,9 +81,8 @@ module SibApiV3Sdk
93
81
  def ==(o)
94
82
  return true if self.equal?(o)
95
83
  self.class == o.class &&
96
- name == o.name &&
97
- key == o.key &&
98
- secret == o.secret
84
+ v2 == o.v2 &&
85
+ v3 == o.v3
99
86
  end
100
87
 
101
88
  # @see the `==` method
@@ -107,7 +94,7 @@ module SibApiV3Sdk
107
94
  # Calculates hash code according to all attributes.
108
95
  # @return [Fixnum] Hash code
109
96
  def hash
110
- [name, key, secret].hash
97
+ [v2, v3].hash
111
98
  end
112
99
 
113
100
  # Builds the object from hash
@@ -0,0 +1,209 @@
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.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module SibApiV3Sdk
16
+
17
+ class GetChildInfoApiKeysV2
18
+ # Name of the key for version 2
19
+ attr_accessor :name
20
+
21
+ # API Key for version 2
22
+ attr_accessor :key
23
+
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'name' => :'name',
29
+ :'key' => :'key'
30
+ }
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.swagger_types
35
+ {
36
+ :'name' => :'String',
37
+ :'key' => :'String'
38
+ }
39
+ end
40
+
41
+ # Initializes the object
42
+ # @param [Hash] attributes Model attributes in the form of hash
43
+ def initialize(attributes = {})
44
+ return unless attributes.is_a?(Hash)
45
+
46
+ # convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
48
+
49
+ if attributes.has_key?(:'name')
50
+ self.name = attributes[:'name']
51
+ end
52
+
53
+ if attributes.has_key?(:'key')
54
+ self.key = attributes[:'key']
55
+ end
56
+
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 @name.nil?
64
+ invalid_properties.push("invalid value for 'name', name cannot be nil.")
65
+ end
66
+
67
+ if @key.nil?
68
+ invalid_properties.push("invalid value for 'key', key cannot be nil.")
69
+ end
70
+
71
+ return invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ return false if @name.nil?
78
+ return false if @key.nil?
79
+ return true
80
+ end
81
+
82
+ # Checks equality by comparing each attribute.
83
+ # @param [Object] Object to be compared
84
+ def ==(o)
85
+ return true if self.equal?(o)
86
+ self.class == o.class &&
87
+ name == o.name &&
88
+ key == o.key
89
+ end
90
+
91
+ # @see the `==` method
92
+ # @param [Object] Object to be compared
93
+ def eql?(o)
94
+ self == o
95
+ end
96
+
97
+ # Calculates hash code according to all attributes.
98
+ # @return [Fixnum] Hash code
99
+ def hash
100
+ [name, key].hash
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def build_from_hash(attributes)
107
+ return nil unless attributes.is_a?(Hash)
108
+ self.class.swagger_types.each_pair do |key, type|
109
+ if type =~ /\AArray<(.*)>/i
110
+ # check to ensure the input is an array given that the the attribute
111
+ # is documented as an array but the input is not
112
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
113
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
114
+ end
115
+ elsif !attributes[self.class.attribute_map[key]].nil?
116
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
117
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
118
+ end
119
+
120
+ self
121
+ end
122
+
123
+ # Deserializes the data based on type
124
+ # @param string type Data type
125
+ # @param string value Value to be deserialized
126
+ # @return [Object] Deserialized data
127
+ def _deserialize(type, value)
128
+ case type.to_sym
129
+ when :DateTime
130
+ DateTime.parse(value)
131
+ when :Date
132
+ Date.parse(value)
133
+ when :String
134
+ value.to_s
135
+ when :Integer
136
+ value.to_i
137
+ when :Float
138
+ value.to_f
139
+ when :BOOLEAN
140
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
141
+ true
142
+ else
143
+ false
144
+ end
145
+ when :Object
146
+ # generic object (usually a Hash), return directly
147
+ value
148
+ when /\AArray<(?<inner_type>.+)>\z/
149
+ inner_type = Regexp.last_match[:inner_type]
150
+ value.map { |v| _deserialize(inner_type, v) }
151
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
152
+ k_type = Regexp.last_match[:k_type]
153
+ v_type = Regexp.last_match[:v_type]
154
+ {}.tap do |hash|
155
+ value.each do |k, v|
156
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
157
+ end
158
+ end
159
+ else # model
160
+ temp_model = SibApiV3Sdk.const_get(type).new
161
+ temp_model.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
+ next if value.nil?
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ # Outputs non-array value in the form of hash
190
+ # For object, use to_hash. Otherwise, just return the value
191
+ # @param [Object] value Any valid value
192
+ # @return [Hash] Returns the value in the form of hash
193
+ def _to_hash(value)
194
+ if value.is_a?(Array)
195
+ value.compact.map{ |v| _to_hash(v) }
196
+ elsif value.is_a?(Hash)
197
+ {}.tap do |hash|
198
+ value.each { |k, v| hash[k] = _to_hash(v) }
199
+ end
200
+ elsif value.respond_to? :to_hash
201
+ value.to_hash
202
+ else
203
+ value
204
+ end
205
+ end
206
+
207
+ end
208
+
209
+ end