commonlit-clever-ruby 2.1.6.beta1 → 2.1.6.beta3

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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +37 -29
  4. data/README.md +994 -61
  5. data/clever-ruby.gemspec +6 -13
  6. data/commonlit-clever-ruby-2.1.6.beta1.gem +0 -0
  7. data/commonlit-clever-ruby-2.1.6.beta2.gem +0 -0
  8. data/docs/AdminName.md +0 -1
  9. data/docs/BadRequest.md +0 -1
  10. data/docs/Contact.md +1 -2
  11. data/docs/ContactObject.md +0 -1
  12. data/docs/ContactResponse.md +0 -1
  13. data/docs/ContactsCreated.md +2 -3
  14. data/docs/ContactsDeleted.md +2 -3
  15. data/docs/ContactsResponse.md +0 -1
  16. data/docs/ContactsUpdated.md +2 -3
  17. data/docs/Course.md +1 -2
  18. data/docs/CourseObject.md +0 -1
  19. data/docs/CourseResponse.md +0 -1
  20. data/docs/CoursesCreated.md +2 -3
  21. data/docs/CoursesDeleted.md +2 -3
  22. data/docs/CoursesResponse.md +0 -1
  23. data/docs/CoursesUpdated.md +2 -3
  24. data/docs/Credentials.md +0 -1
  25. data/docs/DataApi.md +2784 -0
  26. data/docs/District.md +9 -10
  27. data/docs/DistrictAdmin.md +2 -3
  28. data/docs/DistrictAdminObject.md +0 -1
  29. data/docs/DistrictAdminResponse.md +0 -1
  30. data/docs/DistrictAdminsResponse.md +0 -1
  31. data/docs/DistrictObject.md +0 -1
  32. data/docs/DistrictResponse.md +0 -1
  33. data/docs/DistrictadminsCreated.md +2 -3
  34. data/docs/DistrictadminsDeleted.md +2 -3
  35. data/docs/DistrictadminsUpdated.md +2 -3
  36. data/docs/DistrictsCreated.md +2 -3
  37. data/docs/DistrictsDeleted.md +2 -3
  38. data/docs/DistrictsResponse.md +0 -1
  39. data/docs/DistrictsUpdated.md +2 -3
  40. data/docs/Event.md +2 -3
  41. data/docs/EventResponse.md +0 -1
  42. data/docs/EventsApi.md +1 -4
  43. data/docs/EventsResponse.md +0 -1
  44. data/docs/InternalError.md +0 -1
  45. data/docs/Link.md +0 -1
  46. data/docs/Location.md +2 -3
  47. data/docs/Name.md +1 -2
  48. data/docs/NotFound.md +0 -1
  49. data/docs/Principal.md +1 -2
  50. data/docs/School.md +3 -4
  51. data/docs/SchoolAdmin.md +3 -4
  52. data/docs/SchoolAdminObject.md +0 -1
  53. data/docs/SchoolAdminResponse.md +0 -1
  54. data/docs/SchoolAdminsResponse.md +0 -1
  55. data/docs/SchoolEnrollment.md +1 -2
  56. data/docs/SchoolObject.md +0 -1
  57. data/docs/SchoolResponse.md +0 -1
  58. data/docs/SchooladminsCreated.md +2 -3
  59. data/docs/SchooladminsDeleted.md +2 -3
  60. data/docs/SchooladminsUpdated.md +2 -3
  61. data/docs/SchoolsCreated.md +2 -3
  62. data/docs/SchoolsDeleted.md +2 -3
  63. data/docs/SchoolsResponse.md +0 -1
  64. data/docs/SchoolsUpdated.md +2 -3
  65. data/docs/Section.md +2 -3
  66. data/docs/SectionObject.md +0 -1
  67. data/docs/SectionResponse.md +0 -1
  68. data/docs/SectionsCreated.md +2 -3
  69. data/docs/SectionsDeleted.md +2 -3
  70. data/docs/SectionsResponse.md +0 -1
  71. data/docs/SectionsUpdated.md +2 -3
  72. data/docs/Student.md +3 -4
  73. data/docs/StudentObject.md +0 -1
  74. data/docs/StudentResponse.md +0 -1
  75. data/docs/StudentsCreated.md +2 -3
  76. data/docs/StudentsDeleted.md +2 -3
  77. data/docs/StudentsResponse.md +0 -1
  78. data/docs/StudentsUpdated.md +2 -3
  79. data/docs/Teacher.md +2 -3
  80. data/docs/TeacherObject.md +0 -1
  81. data/docs/TeacherResponse.md +0 -1
  82. data/docs/TeachersCreated.md +2 -3
  83. data/docs/TeachersDeleted.md +2 -3
  84. data/docs/TeachersResponse.md +0 -1
  85. data/docs/TeachersUpdated.md +2 -3
  86. data/docs/Term.md +2 -3
  87. data/docs/TermObject.md +0 -1
  88. data/docs/TermResponse.md +0 -1
  89. data/docs/TermsCreated.md +2 -3
  90. data/docs/TermsDeleted.md +2 -3
  91. data/docs/TermsResponse.md +0 -1
  92. data/docs/TermsUpdated.md +2 -3
  93. data/git_push.sh +55 -0
  94. data/lib/clever-ruby/api/data_api.rb +2999 -0
  95. data/lib/clever-ruby/api/events_api.rb +25 -20
  96. data/lib/clever-ruby/api_error.rb +23 -4
  97. data/lib/clever-ruby/configuration.rb +5 -9
  98. data/lib/clever-ruby/models/admin_name.rb +46 -22
  99. data/lib/clever-ruby/models/bad_request.rb +42 -20
  100. data/lib/clever-ruby/models/contact.rb +83 -55
  101. data/lib/clever-ruby/models/contact_object.rb +42 -20
  102. data/lib/clever-ruby/models/contact_response.rb +42 -20
  103. data/lib/clever-ruby/models/contacts_response.rb +44 -22
  104. data/lib/clever-ruby/models/course.rb +60 -36
  105. data/lib/clever-ruby/models/course_object.rb +42 -20
  106. data/lib/clever-ruby/models/course_response.rb +42 -20
  107. data/lib/clever-ruby/models/courses_response.rb +44 -22
  108. data/lib/clever-ruby/models/credentials.rb +42 -20
  109. data/lib/clever-ruby/models/district.rb +122 -94
  110. data/lib/clever-ruby/models/district_admin.rb +67 -44
  111. data/lib/clever-ruby/models/district_admin_object.rb +42 -20
  112. data/lib/clever-ruby/models/district_admin_response.rb +42 -20
  113. data/lib/clever-ruby/models/district_admins_response.rb +44 -22
  114. data/lib/clever-ruby/models/district_object.rb +42 -20
  115. data/lib/clever-ruby/models/district_response.rb +42 -20
  116. data/lib/clever-ruby/models/districts_response.rb +44 -22
  117. data/lib/clever-ruby/models/event.rb +60 -33
  118. data/lib/clever-ruby/models/event_response.rb +42 -20
  119. data/lib/clever-ruby/models/events_response.rb +44 -22
  120. data/lib/clever-ruby/models/internal_error.rb +42 -20
  121. data/lib/clever-ruby/models/link.rb +47 -25
  122. data/lib/clever-ruby/models/location.rb +73 -45
  123. data/lib/clever-ruby/models/name.rb +58 -33
  124. data/lib/clever-ruby/models/not_found.rb +42 -20
  125. data/lib/clever-ruby/models/principal.rb +55 -31
  126. data/lib/clever-ruby/models/school.rb +108 -80
  127. data/lib/clever-ruby/models/school_admin.rb +85 -61
  128. data/lib/clever-ruby/models/school_admin_object.rb +42 -20
  129. data/lib/clever-ruby/models/school_admin_response.rb +42 -20
  130. data/lib/clever-ruby/models/school_admins_response.rb +44 -22
  131. data/lib/clever-ruby/models/school_enrollment.rb +56 -34
  132. data/lib/clever-ruby/models/school_object.rb +42 -20
  133. data/lib/clever-ruby/models/school_response.rb +42 -20
  134. data/lib/clever-ruby/models/schools_response.rb +44 -22
  135. data/lib/clever-ruby/models/section.rb +104 -75
  136. data/lib/clever-ruby/models/section_object.rb +42 -20
  137. data/lib/clever-ruby/models/section_response.rb +42 -20
  138. data/lib/clever-ruby/models/sections_response.rb +44 -22
  139. data/lib/clever-ruby/models/student.rb +147 -126
  140. data/lib/clever-ruby/models/student_object.rb +42 -20
  141. data/lib/clever-ruby/models/student_response.rb +42 -20
  142. data/lib/clever-ruby/models/students_response.rb +44 -22
  143. data/lib/clever-ruby/models/teacher.rb +89 -63
  144. data/lib/clever-ruby/models/teacher_object.rb +42 -20
  145. data/lib/clever-ruby/models/teacher_response.rb +42 -20
  146. data/lib/clever-ruby/models/teachers_response.rb +44 -22
  147. data/lib/clever-ruby/models/term.rb +69 -44
  148. data/lib/clever-ruby/models/term_object.rb +42 -20
  149. data/lib/clever-ruby/models/term_response.rb +42 -20
  150. data/lib/clever-ruby/models/terms_response.rb +44 -22
  151. data/lib/clever-ruby/version.rb +4 -5
  152. data/lib/clever-ruby.rb +4 -14
  153. data/override/README-extension.md +1 -1
  154. data/override/override.sh +3 -0
  155. data/spec/api/data_api_spec.rb +671 -0
  156. data/spec/api/events_api_spec.rb +4 -3
  157. data/spec/api_client_spec.rb +21 -3
  158. data/spec/spec_helper.rb +4 -3
  159. metadata +27 -180
  160. data/docs/ContactsApi.md +0 -231
  161. data/docs/CoursesApi.md +0 -231
  162. data/docs/DistrictAdminsApi.md +0 -171
  163. data/docs/DistrictsApi.md +0 -113
  164. data/docs/SchoolAdminsApi.md +0 -231
  165. data/docs/SchoolsApi.md +0 -351
  166. data/docs/SectionsApi.md +0 -499
  167. data/docs/StudentsApi.md +0 -463
  168. data/docs/TeachersApi.md +0 -403
  169. data/docs/TermsApi.md +0 -231
  170. data/lib/clever-ruby/api/contacts_api.rb +0 -241
  171. data/lib/clever-ruby/api/courses_api.rb +0 -241
  172. data/lib/clever-ruby/api/district_admins_api.rb +0 -182
  173. data/lib/clever-ruby/api/districts_api.rb +0 -123
  174. data/lib/clever-ruby/api/school_admins_api.rb +0 -241
  175. data/lib/clever-ruby/api/schools_api.rb +0 -359
  176. data/lib/clever-ruby/api/sections_api.rb +0 -500
  177. data/lib/clever-ruby/api/students_api.rb +0 -468
  178. data/lib/clever-ruby/api/teachers_api.rb +0 -409
  179. data/lib/clever-ruby/api/terms_api.rb +0 -241
  180. data/spec/api/contacts_api_spec.rb +0 -84
  181. data/spec/api/courses_api_spec.rb +0 -84
  182. data/spec/api/district_admins_api_spec.rb +0 -70
  183. data/spec/api/districts_api_spec.rb +0 -56
  184. data/spec/api/school_admins_api_spec.rb +0 -84
  185. data/spec/api/schools_api_spec.rb +0 -112
  186. data/spec/api/sections_api_spec.rb +0 -142
  187. data/spec/api/students_api_spec.rb +0 -137
  188. data/spec/api/teachers_api_spec.rb +0 -123
  189. data/spec/api/terms_api_spec.rb +0 -84
@@ -1,13 +1,12 @@
1
1
  =begin
2
- #Data API
2
+ #Clever API
3
3
 
4
- #Serves the Clever Data API
4
+ #The Clever API
5
5
 
6
6
  OpenAPI spec version: 2.1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.37
10
-
9
+ Swagger Codegen version: 3.0.51
11
10
  =end
12
11
 
13
12
  require 'date'
@@ -18,68 +17,87 @@ module Clever
18
17
 
19
18
  attr_accessor :city
20
19
 
21
- attr_accessor :state
22
-
23
- attr_accessor :zip
24
-
25
20
  attr_accessor :lat
26
21
 
27
22
  attr_accessor :lon
28
23
 
24
+ attr_accessor :state
25
+
26
+ attr_accessor :zip
27
+
29
28
  # Attribute mapping from ruby-style variable name to JSON key.
30
29
  def self.attribute_map
31
30
  {
32
31
  :'address' => :'address',
33
32
  :'city' => :'city',
34
- :'state' => :'state',
35
- :'zip' => :'zip',
36
33
  :'lat' => :'lat',
37
- :'lon' => :'lon'
34
+ :'lon' => :'lon',
35
+ :'state' => :'state',
36
+ :'zip' => :'zip'
38
37
  }
39
38
  end
40
39
 
41
40
  # Attribute type mapping.
42
- def self.swagger_types
41
+ def self.openapi_types
43
42
  {
44
- :'address' => :'String',
45
- :'city' => :'String',
46
- :'state' => :'String',
47
- :'zip' => :'String',
48
- :'lat' => :'String',
49
- :'lon' => :'String'
43
+ :'address' => :'Object',
44
+ :'city' => :'Object',
45
+ :'lat' => :'Object',
46
+ :'lon' => :'Object',
47
+ :'state' => :'Object',
48
+ :'zip' => :'Object'
50
49
  }
51
50
  end
52
51
 
52
+ # List of attributes with nullable: true
53
+ def self.openapi_nullable
54
+ Set.new([
55
+ :'address',
56
+ :'city',
57
+ :'lat',
58
+ :'lon',
59
+ :'state',
60
+ :'zip'
61
+ ])
62
+ end
63
+
53
64
  # Initializes the object
54
65
  # @param [Hash] attributes Model attributes in the form of hash
55
66
  def initialize(attributes = {})
56
- return unless attributes.is_a?(Hash)
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Clever::Location` initialize method"
69
+ end
57
70
 
58
- # convert string to symbol for hash key
59
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ attributes = attributes.each_with_object({}) { |(k, v), h|
73
+ if (!self.class.attribute_map.key?(k.to_sym))
74
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Clever::Location`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
+ end
76
+ h[k.to_sym] = v
77
+ }
60
78
 
61
- if attributes.has_key?(:'address')
79
+ if attributes.key?(:'address')
62
80
  self.address = attributes[:'address']
63
81
  end
64
82
 
65
- if attributes.has_key?(:'city')
83
+ if attributes.key?(:'city')
66
84
  self.city = attributes[:'city']
67
85
  end
68
86
 
69
- if attributes.has_key?(:'state')
70
- self.state = attributes[:'state']
87
+ if attributes.key?(:'lat')
88
+ self.lat = attributes[:'lat']
71
89
  end
72
90
 
73
- if attributes.has_key?(:'zip')
74
- self.zip = attributes[:'zip']
91
+ if attributes.key?(:'lon')
92
+ self.lon = attributes[:'lon']
75
93
  end
76
94
 
77
- if attributes.has_key?(:'lat')
78
- self.lat = attributes[:'lat']
95
+ if attributes.key?(:'state')
96
+ self.state = attributes[:'state']
79
97
  end
80
98
 
81
- if attributes.has_key?(:'lon')
82
- self.lon = attributes[:'lon']
99
+ if attributes.key?(:'zip')
100
+ self.zip = attributes[:'zip']
83
101
  end
84
102
  end
85
103
 
@@ -103,10 +121,10 @@ module Clever
103
121
  self.class == o.class &&
104
122
  address == o.address &&
105
123
  city == o.city &&
106
- state == o.state &&
107
- zip == o.zip &&
108
124
  lat == o.lat &&
109
- lon == o.lon
125
+ lon == o.lon &&
126
+ state == o.state &&
127
+ zip == o.zip
110
128
  end
111
129
 
112
130
  # @see the `==` method
@@ -116,9 +134,16 @@ module Clever
116
134
  end
117
135
 
118
136
  # Calculates hash code according to all attributes.
119
- # @return [Fixnum] Hash code
137
+ # @return [Integer] Hash code
120
138
  def hash
121
- [address, city, state, zip, lat, lon].hash
139
+ [address, city, lat, lon, state, zip].hash
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def self.build_from_hash(attributes)
146
+ new.build_from_hash(attributes)
122
147
  end
123
148
 
124
149
  # Builds the object from hash
@@ -126,7 +151,7 @@ module Clever
126
151
  # @return [Object] Returns the model itself
127
152
  def build_from_hash(attributes)
128
153
  return nil unless attributes.is_a?(Hash)
129
- self.class.swagger_types.each_pair do |key, type|
154
+ self.class.openapi_types.each_pair do |key, type|
130
155
  if type =~ /\AArray<(.*)>/i
131
156
  # check to ensure the input is an array given that the attribute
132
157
  # is documented as an array but the input is not
@@ -135,7 +160,9 @@ module Clever
135
160
  end
136
161
  elsif !attributes[self.class.attribute_map[key]].nil?
137
162
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
138
- end # or else data not found in attributes(hash), not an issue as the data can be optional
163
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
164
+ self.send("#{key}=", nil)
165
+ end
139
166
  end
140
167
 
141
168
  self
@@ -157,7 +184,7 @@ module Clever
157
184
  value.to_i
158
185
  when :Float
159
186
  value.to_f
160
- when :BOOLEAN
187
+ when :Boolean
161
188
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
162
189
  true
163
190
  else
@@ -178,8 +205,7 @@ module Clever
178
205
  end
179
206
  end
180
207
  else # model
181
- temp_model = Clever.const_get(type).new
182
- temp_model.build_from_hash(value)
208
+ Clever.const_get(type).build_from_hash(value)
183
209
  end
184
210
  end
185
211
 
@@ -201,7 +227,11 @@ module Clever
201
227
  hash = {}
202
228
  self.class.attribute_map.each_pair do |attr, param|
203
229
  value = self.send(attr)
204
- next if value.nil?
230
+ if value.nil?
231
+ is_nullable = self.class.openapi_nullable.include?(attr)
232
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
233
+ end
234
+
205
235
  hash[param] = _to_hash(value)
206
236
  end
207
237
  hash
@@ -223,7 +253,5 @@ module Clever
223
253
  else
224
254
  value
225
255
  end
226
- end
227
-
228
- end
256
+ end end
229
257
  end
@@ -1,13 +1,12 @@
1
1
  =begin
2
- #Data API
2
+ #Clever API
3
3
 
4
- #Serves the Clever Data API
4
+ #The Clever API
5
5
 
6
6
  OpenAPI spec version: 2.1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.37
10
-
9
+ Swagger Codegen version: 3.0.51
11
10
  =end
12
11
 
13
12
  require 'date'
@@ -16,46 +15,62 @@ module Clever
16
15
  class Name
17
16
  attr_accessor :first
18
17
 
19
- attr_accessor :middle
20
-
21
18
  attr_accessor :last
22
19
 
20
+ attr_accessor :middle
21
+
23
22
  # Attribute mapping from ruby-style variable name to JSON key.
24
23
  def self.attribute_map
25
24
  {
26
25
  :'first' => :'first',
27
- :'middle' => :'middle',
28
- :'last' => :'last'
26
+ :'last' => :'last',
27
+ :'middle' => :'middle'
29
28
  }
30
29
  end
31
30
 
32
31
  # Attribute type mapping.
33
- def self.swagger_types
32
+ def self.openapi_types
34
33
  {
35
- :'first' => :'String',
36
- :'middle' => :'String',
37
- :'last' => :'String'
34
+ :'first' => :'Object',
35
+ :'last' => :'Object',
36
+ :'middle' => :'Object'
38
37
  }
39
38
  end
40
39
 
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ :'first',
44
+ :'last',
45
+ :'middle'
46
+ ])
47
+ end
48
+
41
49
  # Initializes the object
42
50
  # @param [Hash] attributes Model attributes in the form of hash
43
51
  def initialize(attributes = {})
44
- return unless attributes.is_a?(Hash)
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Clever::Name` initialize method"
54
+ end
45
55
 
46
- # convert string to symbol for hash key
47
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Clever::Name`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
48
63
 
49
- if attributes.has_key?(:'first')
64
+ if attributes.key?(:'first')
50
65
  self.first = attributes[:'first']
51
66
  end
52
67
 
53
- if attributes.has_key?(:'middle')
54
- self.middle = attributes[:'middle']
68
+ if attributes.key?(:'last')
69
+ self.last = attributes[:'last']
55
70
  end
56
71
 
57
- if attributes.has_key?(:'last')
58
- self.last = attributes[:'last']
72
+ if attributes.key?(:'middle')
73
+ self.middle = attributes[:'middle']
59
74
  end
60
75
  end
61
76
 
@@ -78,8 +93,8 @@ module Clever
78
93
  return true if self.equal?(o)
79
94
  self.class == o.class &&
80
95
  first == o.first &&
81
- middle == o.middle &&
82
- last == o.last
96
+ last == o.last &&
97
+ middle == o.middle
83
98
  end
84
99
 
85
100
  # @see the `==` method
@@ -89,9 +104,16 @@ module Clever
89
104
  end
90
105
 
91
106
  # Calculates hash code according to all attributes.
92
- # @return [Fixnum] Hash code
107
+ # @return [Integer] Hash code
93
108
  def hash
94
- [first, middle, last].hash
109
+ [first, last, middle].hash
110
+ end
111
+
112
+ # Builds the object from hash
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ # @return [Object] Returns the model itself
115
+ def self.build_from_hash(attributes)
116
+ new.build_from_hash(attributes)
95
117
  end
96
118
 
97
119
  # Builds the object from hash
@@ -99,7 +121,7 @@ module Clever
99
121
  # @return [Object] Returns the model itself
100
122
  def build_from_hash(attributes)
101
123
  return nil unless attributes.is_a?(Hash)
102
- self.class.swagger_types.each_pair do |key, type|
124
+ self.class.openapi_types.each_pair do |key, type|
103
125
  if type =~ /\AArray<(.*)>/i
104
126
  # check to ensure the input is an array given that the attribute
105
127
  # is documented as an array but the input is not
@@ -108,7 +130,9 @@ module Clever
108
130
  end
109
131
  elsif !attributes[self.class.attribute_map[key]].nil?
110
132
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
111
- end # or else data not found in attributes(hash), not an issue as the data can be optional
133
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
134
+ self.send("#{key}=", nil)
135
+ end
112
136
  end
113
137
 
114
138
  self
@@ -130,7 +154,7 @@ module Clever
130
154
  value.to_i
131
155
  when :Float
132
156
  value.to_f
133
- when :BOOLEAN
157
+ when :Boolean
134
158
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
135
159
  true
136
160
  else
@@ -151,8 +175,7 @@ module Clever
151
175
  end
152
176
  end
153
177
  else # model
154
- temp_model = Clever.const_get(type).new
155
- temp_model.build_from_hash(value)
178
+ Clever.const_get(type).build_from_hash(value)
156
179
  end
157
180
  end
158
181
 
@@ -174,7 +197,11 @@ module Clever
174
197
  hash = {}
175
198
  self.class.attribute_map.each_pair do |attr, param|
176
199
  value = self.send(attr)
177
- next if value.nil?
200
+ if value.nil?
201
+ is_nullable = self.class.openapi_nullable.include?(attr)
202
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
203
+ end
204
+
178
205
  hash[param] = _to_hash(value)
179
206
  end
180
207
  hash
@@ -196,7 +223,5 @@ module Clever
196
223
  else
197
224
  value
198
225
  end
199
- end
200
-
201
- end
226
+ end end
202
227
  end
@@ -1,13 +1,12 @@
1
1
  =begin
2
- #Data API
2
+ #Clever API
3
3
 
4
- #Serves the Clever Data API
4
+ #The Clever API
5
5
 
6
6
  OpenAPI spec version: 2.1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.37
10
-
9
+ Swagger Codegen version: 3.0.51
11
10
  =end
12
11
 
13
12
  require 'date'
@@ -24,21 +23,34 @@ module Clever
24
23
  end
25
24
 
26
25
  # Attribute type mapping.
27
- def self.swagger_types
26
+ def self.openapi_types
28
27
  {
29
- :'message' => :'String'
28
+ :'message' => :'Object'
30
29
  }
31
30
  end
32
31
 
32
+ # List of attributes with nullable: true
33
+ def self.openapi_nullable
34
+ Set.new([
35
+ ])
36
+ end
37
+
33
38
  # Initializes the object
34
39
  # @param [Hash] attributes Model attributes in the form of hash
35
40
  def initialize(attributes = {})
36
- return unless attributes.is_a?(Hash)
41
+ if (!attributes.is_a?(Hash))
42
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Clever::NotFound` initialize method"
43
+ end
37
44
 
38
- # convert string to symbol for hash key
39
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
45
+ # check to see if the attribute exists and convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}) { |(k, v), h|
47
+ if (!self.class.attribute_map.key?(k.to_sym))
48
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Clever::NotFound`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
+ end
50
+ h[k.to_sym] = v
51
+ }
40
52
 
41
- if attributes.has_key?(:'message')
53
+ if attributes.key?(:'message')
42
54
  self.message = attributes[:'message']
43
55
  end
44
56
  end
@@ -71,17 +83,24 @@ module Clever
71
83
  end
72
84
 
73
85
  # Calculates hash code according to all attributes.
74
- # @return [Fixnum] Hash code
86
+ # @return [Integer] Hash code
75
87
  def hash
76
88
  [message].hash
77
89
  end
78
90
 
91
+ # Builds the object from hash
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ # @return [Object] Returns the model itself
94
+ def self.build_from_hash(attributes)
95
+ new.build_from_hash(attributes)
96
+ end
97
+
79
98
  # Builds the object from hash
80
99
  # @param [Hash] attributes Model attributes in the form of hash
81
100
  # @return [Object] Returns the model itself
82
101
  def build_from_hash(attributes)
83
102
  return nil unless attributes.is_a?(Hash)
84
- self.class.swagger_types.each_pair do |key, type|
103
+ self.class.openapi_types.each_pair do |key, type|
85
104
  if type =~ /\AArray<(.*)>/i
86
105
  # check to ensure the input is an array given that the attribute
87
106
  # is documented as an array but the input is not
@@ -90,7 +109,9 @@ module Clever
90
109
  end
91
110
  elsif !attributes[self.class.attribute_map[key]].nil?
92
111
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
93
- end # or else data not found in attributes(hash), not an issue as the data can be optional
112
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
113
+ self.send("#{key}=", nil)
114
+ end
94
115
  end
95
116
 
96
117
  self
@@ -112,7 +133,7 @@ module Clever
112
133
  value.to_i
113
134
  when :Float
114
135
  value.to_f
115
- when :BOOLEAN
136
+ when :Boolean
116
137
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
117
138
  true
118
139
  else
@@ -133,8 +154,7 @@ module Clever
133
154
  end
134
155
  end
135
156
  else # model
136
- temp_model = Clever.const_get(type).new
137
- temp_model.build_from_hash(value)
157
+ Clever.const_get(type).build_from_hash(value)
138
158
  end
139
159
  end
140
160
 
@@ -156,7 +176,11 @@ module Clever
156
176
  hash = {}
157
177
  self.class.attribute_map.each_pair do |attr, param|
158
178
  value = self.send(attr)
159
- next if value.nil?
179
+ if value.nil?
180
+ is_nullable = self.class.openapi_nullable.include?(attr)
181
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
182
+ end
183
+
160
184
  hash[param] = _to_hash(value)
161
185
  end
162
186
  hash
@@ -178,7 +202,5 @@ module Clever
178
202
  else
179
203
  value
180
204
  end
181
- end
182
-
183
- end
205
+ end end
184
206
  end