flat_api 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +5 -4
  4. data/docs/ScoreRights.md +1 -0
  5. data/flat_api.gemspec +1 -1
  6. data/git_push.sh +1 -1
  7. data/lib/flat_api.rb +1 -1
  8. data/lib/flat_api/api/account_api.rb +1 -1
  9. data/lib/flat_api/api/class_api.rb +1 -1
  10. data/lib/flat_api/api/group_api.rb +1 -1
  11. data/lib/flat_api/api/organization_api.rb +1 -1
  12. data/lib/flat_api/api/score_api.rb +1 -1
  13. data/lib/flat_api/api/user_api.rb +1 -1
  14. data/lib/flat_api/api_client.rb +2 -2
  15. data/lib/flat_api/api_error.rb +1 -1
  16. data/lib/flat_api/configuration.rb +1 -1
  17. data/lib/flat_api/models/assignment.rb +2 -2
  18. data/lib/flat_api/models/assignment_copy.rb +2 -2
  19. data/lib/flat_api/models/assignment_creation.rb +2 -2
  20. data/lib/flat_api/models/assignment_submission.rb +2 -2
  21. data/lib/flat_api/models/assignment_submission_update.rb +2 -2
  22. data/lib/flat_api/models/class_attachment_creation.rb +2 -2
  23. data/lib/flat_api/models/class_creation.rb +2 -2
  24. data/lib/flat_api/models/class_details.rb +2 -2
  25. data/lib/flat_api/models/class_details_canvas.rb +2 -2
  26. data/lib/flat_api/models/class_details_clever.rb +2 -2
  27. data/lib/flat_api/models/class_details_google_classroom.rb +2 -2
  28. data/lib/flat_api/models/class_details_google_drive.rb +2 -2
  29. data/lib/flat_api/models/class_details_lti.rb +2 -2
  30. data/lib/flat_api/models/class_roles.rb +10 -1
  31. data/lib/flat_api/models/class_state.rb +10 -1
  32. data/lib/flat_api/models/class_update.rb +2 -2
  33. data/lib/flat_api/models/flat_error_response.rb +2 -2
  34. data/lib/flat_api/models/flat_locales.rb +10 -1
  35. data/lib/flat_api/models/google_classroom_coursework.rb +2 -2
  36. data/lib/flat_api/models/google_classroom_submission.rb +2 -2
  37. data/lib/flat_api/models/group.rb +2 -2
  38. data/lib/flat_api/models/group_details.rb +2 -2
  39. data/lib/flat_api/models/group_type.rb +10 -1
  40. data/lib/flat_api/models/license_mode.rb +10 -1
  41. data/lib/flat_api/models/license_sources.rb +10 -1
  42. data/lib/flat_api/models/lms_name.rb +10 -1
  43. data/lib/flat_api/models/lti_credentials.rb +2 -2
  44. data/lib/flat_api/models/lti_credentials_creation.rb +2 -2
  45. data/lib/flat_api/models/media_attachment.rb +2 -2
  46. data/lib/flat_api/models/media_score_sharing_mode.rb +10 -1
  47. data/lib/flat_api/models/organization_invitation.rb +2 -2
  48. data/lib/flat_api/models/organization_invitation_creation.rb +2 -2
  49. data/lib/flat_api/models/organization_roles.rb +10 -1
  50. data/lib/flat_api/models/score_collaborator.rb +2 -2
  51. data/lib/flat_api/models/score_collaborator_creation.rb +2 -2
  52. data/lib/flat_api/models/score_comment.rb +2 -2
  53. data/lib/flat_api/models/score_comment_context.rb +2 -2
  54. data/lib/flat_api/models/score_comment_creation.rb +2 -2
  55. data/lib/flat_api/models/score_comment_update.rb +2 -2
  56. data/lib/flat_api/models/score_comments_counts.rb +2 -2
  57. data/lib/flat_api/models/score_creation.rb +2 -2
  58. data/lib/flat_api/models/score_creation_type.rb +10 -1
  59. data/lib/flat_api/models/score_data.rb +2 -2
  60. data/lib/flat_api/models/score_data_encoding.rb +10 -1
  61. data/lib/flat_api/models/score_details.rb +2 -2
  62. data/lib/flat_api/models/score_fork.rb +2 -2
  63. data/lib/flat_api/models/score_license.rb +10 -1
  64. data/lib/flat_api/models/score_likes_counts.rb +2 -2
  65. data/lib/flat_api/models/score_modification.rb +2 -2
  66. data/lib/flat_api/models/score_privacy.rb +10 -1
  67. data/lib/flat_api/models/score_revision.rb +2 -2
  68. data/lib/flat_api/models/score_revision_creation.rb +2 -2
  69. data/lib/flat_api/models/score_revision_statistics.rb +2 -2
  70. data/lib/flat_api/models/score_rights.rb +13 -3
  71. data/lib/flat_api/models/score_source.rb +2 -2
  72. data/lib/flat_api/models/score_summary.rb +2 -2
  73. data/lib/flat_api/models/score_track.rb +2 -2
  74. data/lib/flat_api/models/score_track_creation.rb +2 -2
  75. data/lib/flat_api/models/score_track_point.rb +2 -2
  76. data/lib/flat_api/models/score_track_state.rb +10 -1
  77. data/lib/flat_api/models/score_track_type.rb +10 -1
  78. data/lib/flat_api/models/score_track_update.rb +2 -2
  79. data/lib/flat_api/models/score_views_counts.rb +2 -2
  80. data/lib/flat_api/models/user_admin_update.rb +2 -2
  81. data/lib/flat_api/models/user_basics.rb +2 -2
  82. data/lib/flat_api/models/user_creation.rb +7 -7
  83. data/lib/flat_api/models/user_details.rb +2 -2
  84. data/lib/flat_api/models/user_details_admin.rb +2 -2
  85. data/lib/flat_api/models/user_details_admin_license.rb +2 -2
  86. data/lib/flat_api/models/user_instruments.rb +2 -2
  87. data/lib/flat_api/models/user_public.rb +2 -2
  88. data/lib/flat_api/models/user_public_summary.rb +2 -2
  89. data/lib/flat_api/version.rb +2 -2
  90. metadata +2 -85
  91. data/lib/swagger_client.rb +0 -117
  92. data/lib/swagger_client/api/account_api.rb +0 -72
  93. data/lib/swagger_client/api/class_api.rb +0 -1148
  94. data/lib/swagger_client/api/group_api.rb +0 -191
  95. data/lib/swagger_client/api/organization_api.rb +0 -599
  96. data/lib/swagger_client/api/score_api.rb +0 -1737
  97. data/lib/swagger_client/api/user_api.rb +0 -194
  98. data/lib/swagger_client/api_client.rb +0 -389
  99. data/lib/swagger_client/api_error.rb +0 -38
  100. data/lib/swagger_client/configuration.rb +0 -209
  101. data/lib/swagger_client/models/assignment.rb +0 -323
  102. data/lib/swagger_client/models/assignment_copy.rb +0 -194
  103. data/lib/swagger_client/models/assignment_creation.rb +0 -230
  104. data/lib/swagger_client/models/assignment_submission.rb +0 -299
  105. data/lib/swagger_client/models/assignment_submission_update.rb +0 -220
  106. data/lib/swagger_client/models/class_attachment_creation.rb +0 -242
  107. data/lib/swagger_client/models/class_creation.rb +0 -239
  108. data/lib/swagger_client/models/class_details.rb +0 -351
  109. data/lib/swagger_client/models/class_details_canvas.rb +0 -199
  110. data/lib/swagger_client/models/class_details_clever.rb +0 -282
  111. data/lib/swagger_client/models/class_details_google_classroom.rb +0 -219
  112. data/lib/swagger_client/models/class_details_google_drive.rb +0 -199
  113. data/lib/swagger_client/models/class_details_lti.rb +0 -209
  114. data/lib/swagger_client/models/class_roles.rb +0 -22
  115. data/lib/swagger_client/models/class_state.rb +0 -23
  116. data/lib/swagger_client/models/class_update.rb +0 -231
  117. data/lib/swagger_client/models/flat_error_response.rb +0 -219
  118. data/lib/swagger_client/models/flat_locales.rb +0 -27
  119. data/lib/swagger_client/models/google_classroom_coursework.rb +0 -209
  120. data/lib/swagger_client/models/google_classroom_submission.rb +0 -209
  121. data/lib/swagger_client/models/group.rb +0 -282
  122. data/lib/swagger_client/models/group_details.rb +0 -248
  123. data/lib/swagger_client/models/group_type.rb +0 -23
  124. data/lib/swagger_client/models/license_mode.rb +0 -22
  125. data/lib/swagger_client/models/license_sources.rb +0 -25
  126. data/lib/swagger_client/models/lms_name.rb +0 -27
  127. data/lib/swagger_client/models/lti_credentials.rb +0 -268
  128. data/lib/swagger_client/models/lti_credentials_creation.rb +0 -227
  129. data/lib/swagger_client/models/media_attachment.rb +0 -371
  130. data/lib/swagger_client/models/media_score_sharing_mode.rb +0 -23
  131. data/lib/swagger_client/models/organization_invitation.rb +0 -248
  132. data/lib/swagger_client/models/organization_invitation_creation.rb +0 -198
  133. data/lib/swagger_client/models/organization_roles.rb +0 -24
  134. data/lib/swagger_client/models/score_collaborator.rb +0 -263
  135. data/lib/swagger_client/models/score_collaborator_creation.rb +0 -245
  136. data/lib/swagger_client/models/score_comment.rb +0 -363
  137. data/lib/swagger_client/models/score_comment_context.rb +0 -282
  138. data/lib/swagger_client/models/score_comment_creation.rb +0 -245
  139. data/lib/swagger_client/models/score_comment_update.rb +0 -268
  140. data/lib/swagger_client/models/score_comments_counts.rb +0 -219
  141. data/lib/swagger_client/models/score_creation.rb +0 -240
  142. data/lib/swagger_client/models/score_creation_type.rb +0 -23
  143. data/lib/swagger_client/models/score_data.rb +0 -179
  144. data/lib/swagger_client/models/score_data_encoding.rb +0 -21
  145. data/lib/swagger_client/models/score_details.rb +0 -467
  146. data/lib/swagger_client/models/score_fork.rb +0 -179
  147. data/lib/swagger_client/models/score_license.rb +0 -28
  148. data/lib/swagger_client/models/score_likes_counts.rb +0 -209
  149. data/lib/swagger_client/models/score_modification.rb +0 -270
  150. data/lib/swagger_client/models/score_privacy.rb +0 -24
  151. data/lib/swagger_client/models/score_revision.rb +0 -249
  152. data/lib/swagger_client/models/score_revision_creation.rb +0 -222
  153. data/lib/swagger_client/models/score_revision_statistics.rb +0 -199
  154. data/lib/swagger_client/models/score_rights.rb +0 -203
  155. data/lib/swagger_client/models/score_source.rb +0 -189
  156. data/lib/swagger_client/models/score_summary.rb +0 -237
  157. data/lib/swagger_client/models/score_track.rb +0 -298
  158. data/lib/swagger_client/models/score_track_creation.rb +0 -229
  159. data/lib/swagger_client/models/score_track_point.rb +0 -252
  160. data/lib/swagger_client/models/score_track_state.rb +0 -23
  161. data/lib/swagger_client/models/score_track_type.rb +0 -24
  162. data/lib/swagger_client/models/score_track_update.rb +0 -219
  163. data/lib/swagger_client/models/score_views_counts.rb +0 -209
  164. data/lib/swagger_client/models/user_admin_update.rb +0 -214
  165. data/lib/swagger_client/models/user_basics.rb +0 -239
  166. data/lib/swagger_client/models/user_creation.rb +0 -266
  167. data/lib/swagger_client/models/user_details.rb +0 -418
  168. data/lib/swagger_client/models/user_details_admin.rb +0 -306
  169. data/lib/swagger_client/models/user_details_admin_license.rb +0 -227
  170. data/lib/swagger_client/models/user_instruments.rb +0 -179
  171. data/lib/swagger_client/models/user_public.rb +0 -356
  172. data/lib/swagger_client/models/user_public_summary.rb +0 -277
  173. data/lib/swagger_client/version.rb +0 -15
@@ -1,239 +0,0 @@
1
- =begin
2
- #Flat API
3
-
4
- #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
-
6
- OpenAPI spec version: 2.5.0
7
- Contact: developers@flat.io
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.2.3-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'date'
14
-
15
- module SwaggerClient
16
- # Creation of a classroom
17
- class ClassCreation
18
- # The name of the new class
19
- attr_accessor :name
20
-
21
- # The section of the new class
22
- attr_accessor :section
23
-
24
-
25
- # Attribute mapping from ruby-style variable name to JSON key.
26
- def self.attribute_map
27
- {
28
- :'name' => :'name',
29
- :'section' => :'section'
30
- }
31
- end
32
-
33
- # Attribute type mapping.
34
- def self.swagger_types
35
- {
36
- :'name' => :'String',
37
- :'section' => :'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?(:'section')
54
- self.section = attributes[:'section']
55
- end
56
-
57
- end
58
-
59
- # Show invalid properties with the reasons. Usually used together with valid?
60
- # @return Array for valid properies 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 @name.to_s.length > 255
68
- invalid_properties.push("invalid value for 'name', the character length must be smaller than or equal to 255.")
69
- end
70
-
71
- if !@section.nil? && @section.to_s.length > 255
72
- invalid_properties.push("invalid value for 'section', the character length must be smaller than or equal to 255.")
73
- end
74
-
75
- return invalid_properties
76
- end
77
-
78
- # Check to see if the all the properties in the model are valid
79
- # @return true if the model is valid
80
- def valid?
81
- return false if @name.nil?
82
- return false if @name.to_s.length > 255
83
- return false if !@section.nil? && @section.to_s.length > 255
84
- return true
85
- end
86
-
87
- # Custom attribute writer method with validation
88
- # @param [Object] name Value to be assigned
89
- def name=(name)
90
- if name.nil?
91
- fail ArgumentError, "name cannot be nil"
92
- end
93
-
94
- if name.to_s.length > 255
95
- fail ArgumentError, "invalid value for 'name', the character length must be smaller than or equal to 255."
96
- end
97
-
98
- @name = name
99
- end
100
-
101
- # Custom attribute writer method with validation
102
- # @param [Object] section Value to be assigned
103
- def section=(section)
104
-
105
- if !section.nil? && section.to_s.length > 255
106
- fail ArgumentError, "invalid value for 'section', the character length must be smaller than or equal to 255."
107
- end
108
-
109
- @section = section
110
- end
111
-
112
- # Checks equality by comparing each attribute.
113
- # @param [Object] Object to be compared
114
- def ==(o)
115
- return true if self.equal?(o)
116
- self.class == o.class &&
117
- name == o.name &&
118
- section == o.section
119
- end
120
-
121
- # @see the `==` method
122
- # @param [Object] Object to be compared
123
- def eql?(o)
124
- self == o
125
- end
126
-
127
- # Calculates hash code according to all attributes.
128
- # @return [Fixnum] Hash code
129
- def hash
130
- [name, section].hash
131
- end
132
-
133
- # Builds the object from hash
134
- # @param [Hash] attributes Model attributes in the form of hash
135
- # @return [Object] Returns the model itself
136
- def build_from_hash(attributes)
137
- return nil unless attributes.is_a?(Hash)
138
- self.class.swagger_types.each_pair do |key, type|
139
- if type =~ /\AArray<(.*)>/i
140
- # check to ensure the input is an array given that the the attribute
141
- # is documented as an array but the input is not
142
- if attributes[self.class.attribute_map[key]].is_a?(Array)
143
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
144
- end
145
- elsif !attributes[self.class.attribute_map[key]].nil?
146
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
147
- end # or else data not found in attributes(hash), not an issue as the data can be optional
148
- end
149
-
150
- self
151
- end
152
-
153
- # Deserializes the data based on type
154
- # @param string type Data type
155
- # @param string value Value to be deserialized
156
- # @return [Object] Deserialized data
157
- def _deserialize(type, value)
158
- case type.to_sym
159
- when :DateTime
160
- DateTime.parse(value)
161
- when :Date
162
- Date.parse(value)
163
- when :String
164
- value.to_s
165
- when :Integer
166
- value.to_i
167
- when :Float
168
- value.to_f
169
- when :BOOLEAN
170
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
171
- true
172
- else
173
- false
174
- end
175
- when :Object
176
- # generic object (usually a Hash), return directly
177
- value
178
- when /\AArray<(?<inner_type>.+)>\z/
179
- inner_type = Regexp.last_match[:inner_type]
180
- value.map { |v| _deserialize(inner_type, v) }
181
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
182
- k_type = Regexp.last_match[:k_type]
183
- v_type = Regexp.last_match[:v_type]
184
- {}.tap do |hash|
185
- value.each do |k, v|
186
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
187
- end
188
- end
189
- else # model
190
- temp_model = SwaggerClient.const_get(type).new
191
- temp_model.build_from_hash(value)
192
- end
193
- end
194
-
195
- # Returns the string representation of the object
196
- # @return [String] String presentation of the object
197
- def to_s
198
- to_hash.to_s
199
- end
200
-
201
- # to_body is an alias to to_hash (backward compatibility)
202
- # @return [Hash] Returns the object in the form of hash
203
- def to_body
204
- to_hash
205
- end
206
-
207
- # Returns the object in the form of hash
208
- # @return [Hash] Returns the object in the form of hash
209
- def to_hash
210
- hash = {}
211
- self.class.attribute_map.each_pair do |attr, param|
212
- value = self.send(attr)
213
- next if value.nil?
214
- hash[param] = _to_hash(value)
215
- end
216
- hash
217
- end
218
-
219
- # Outputs non-array value in the form of hash
220
- # For object, use to_hash. Otherwise, just return the value
221
- # @param [Object] value Any valid value
222
- # @return [Hash] Returns the value in the form of hash
223
- def _to_hash(value)
224
- if value.is_a?(Array)
225
- value.compact.map{ |v| _to_hash(v) }
226
- elsif value.is_a?(Hash)
227
- {}.tap do |hash|
228
- value.each { |k, v| hash[k] = _to_hash(v) }
229
- end
230
- elsif value.respond_to? :to_hash
231
- value.to_hash
232
- else
233
- value
234
- end
235
- end
236
-
237
- end
238
-
239
- end
@@ -1,351 +0,0 @@
1
- =begin
2
- #Flat API
3
-
4
- #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
-
6
- OpenAPI spec version: 2.5.0
7
- Contact: developers@flat.io
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.2.3-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'date'
14
-
15
- module SwaggerClient
16
- # A classroom
17
- class ClassDetails
18
- # The unique identifier of the class
19
- attr_accessor :id
20
-
21
- attr_accessor :state
22
-
23
- # The name of the class
24
- attr_accessor :name
25
-
26
- # The section of the class
27
- attr_accessor :section
28
-
29
- # An optionnal description for this class
30
- attr_accessor :description
31
-
32
- # The unique identifier of the Organization owning this class
33
- attr_accessor :organization
34
-
35
- # The unique identifier of the User owning this class
36
- attr_accessor :owner
37
-
38
- # The date when the class was create
39
- attr_accessor :creation_date
40
-
41
- # [Teachers only] The enrollment code that can be used by the students to join the class
42
- attr_accessor :enrollment_code
43
-
44
- # The theme identifier using in Flat User Interface
45
- attr_accessor :theme
46
-
47
- # The number of assignments created in the class
48
- attr_accessor :assignments_count
49
-
50
- attr_accessor :students_group
51
-
52
- attr_accessor :teachers_group
53
-
54
- attr_accessor :google_classroom
55
-
56
- attr_accessor :google_drive
57
-
58
- attr_accessor :lti
59
-
60
- attr_accessor :canvas
61
-
62
- attr_accessor :clever
63
-
64
-
65
- # Attribute mapping from ruby-style variable name to JSON key.
66
- def self.attribute_map
67
- {
68
- :'id' => :'id',
69
- :'state' => :'state',
70
- :'name' => :'name',
71
- :'section' => :'section',
72
- :'description' => :'description',
73
- :'organization' => :'organization',
74
- :'owner' => :'owner',
75
- :'creation_date' => :'creationDate',
76
- :'enrollment_code' => :'enrollmentCode',
77
- :'theme' => :'theme',
78
- :'assignments_count' => :'assignmentsCount',
79
- :'students_group' => :'studentsGroup',
80
- :'teachers_group' => :'teachersGroup',
81
- :'google_classroom' => :'googleClassroom',
82
- :'google_drive' => :'googleDrive',
83
- :'lti' => :'lti',
84
- :'canvas' => :'canvas',
85
- :'clever' => :'clever'
86
- }
87
- end
88
-
89
- # Attribute type mapping.
90
- def self.swagger_types
91
- {
92
- :'id' => :'String',
93
- :'state' => :'ClassState',
94
- :'name' => :'String',
95
- :'section' => :'String',
96
- :'description' => :'String',
97
- :'organization' => :'String',
98
- :'owner' => :'String',
99
- :'creation_date' => :'DateTime',
100
- :'enrollment_code' => :'String',
101
- :'theme' => :'String',
102
- :'assignments_count' => :'Float',
103
- :'students_group' => :'GroupDetails',
104
- :'teachers_group' => :'GroupDetails',
105
- :'google_classroom' => :'ClassDetailsGoogleClassroom',
106
- :'google_drive' => :'ClassDetailsGoogleDrive',
107
- :'lti' => :'ClassDetailsLti',
108
- :'canvas' => :'ClassDetailsCanvas',
109
- :'clever' => :'ClassDetailsClever'
110
- }
111
- end
112
-
113
- # Initializes the object
114
- # @param [Hash] attributes Model attributes in the form of hash
115
- def initialize(attributes = {})
116
- return unless attributes.is_a?(Hash)
117
-
118
- # convert string to symbol for hash key
119
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
120
-
121
- if attributes.has_key?(:'id')
122
- self.id = attributes[:'id']
123
- end
124
-
125
- if attributes.has_key?(:'state')
126
- self.state = attributes[:'state']
127
- end
128
-
129
- if attributes.has_key?(:'name')
130
- self.name = attributes[:'name']
131
- end
132
-
133
- if attributes.has_key?(:'section')
134
- self.section = attributes[:'section']
135
- end
136
-
137
- if attributes.has_key?(:'description')
138
- self.description = attributes[:'description']
139
- end
140
-
141
- if attributes.has_key?(:'organization')
142
- self.organization = attributes[:'organization']
143
- end
144
-
145
- if attributes.has_key?(:'owner')
146
- self.owner = attributes[:'owner']
147
- end
148
-
149
- if attributes.has_key?(:'creationDate')
150
- self.creation_date = attributes[:'creationDate']
151
- end
152
-
153
- if attributes.has_key?(:'enrollmentCode')
154
- self.enrollment_code = attributes[:'enrollmentCode']
155
- end
156
-
157
- if attributes.has_key?(:'theme')
158
- self.theme = attributes[:'theme']
159
- end
160
-
161
- if attributes.has_key?(:'assignmentsCount')
162
- self.assignments_count = attributes[:'assignmentsCount']
163
- end
164
-
165
- if attributes.has_key?(:'studentsGroup')
166
- self.students_group = attributes[:'studentsGroup']
167
- end
168
-
169
- if attributes.has_key?(:'teachersGroup')
170
- self.teachers_group = attributes[:'teachersGroup']
171
- end
172
-
173
- if attributes.has_key?(:'googleClassroom')
174
- self.google_classroom = attributes[:'googleClassroom']
175
- end
176
-
177
- if attributes.has_key?(:'googleDrive')
178
- self.google_drive = attributes[:'googleDrive']
179
- end
180
-
181
- if attributes.has_key?(:'lti')
182
- self.lti = attributes[:'lti']
183
- end
184
-
185
- if attributes.has_key?(:'canvas')
186
- self.canvas = attributes[:'canvas']
187
- end
188
-
189
- if attributes.has_key?(:'clever')
190
- self.clever = attributes[:'clever']
191
- end
192
-
193
- end
194
-
195
- # Show invalid properties with the reasons. Usually used together with valid?
196
- # @return Array for valid properies with the reasons
197
- def list_invalid_properties
198
- invalid_properties = Array.new
199
- return invalid_properties
200
- end
201
-
202
- # Check to see if the all the properties in the model are valid
203
- # @return true if the model is valid
204
- def valid?
205
- return true
206
- end
207
-
208
- # Checks equality by comparing each attribute.
209
- # @param [Object] Object to be compared
210
- def ==(o)
211
- return true if self.equal?(o)
212
- self.class == o.class &&
213
- id == o.id &&
214
- state == o.state &&
215
- name == o.name &&
216
- section == o.section &&
217
- description == o.description &&
218
- organization == o.organization &&
219
- owner == o.owner &&
220
- creation_date == o.creation_date &&
221
- enrollment_code == o.enrollment_code &&
222
- theme == o.theme &&
223
- assignments_count == o.assignments_count &&
224
- students_group == o.students_group &&
225
- teachers_group == o.teachers_group &&
226
- google_classroom == o.google_classroom &&
227
- google_drive == o.google_drive &&
228
- lti == o.lti &&
229
- canvas == o.canvas &&
230
- clever == o.clever
231
- end
232
-
233
- # @see the `==` method
234
- # @param [Object] Object to be compared
235
- def eql?(o)
236
- self == o
237
- end
238
-
239
- # Calculates hash code according to all attributes.
240
- # @return [Fixnum] Hash code
241
- def hash
242
- [id, state, name, section, description, organization, owner, creation_date, enrollment_code, theme, assignments_count, students_group, teachers_group, google_classroom, google_drive, lti, canvas, clever].hash
243
- end
244
-
245
- # Builds the object from hash
246
- # @param [Hash] attributes Model attributes in the form of hash
247
- # @return [Object] Returns the model itself
248
- def build_from_hash(attributes)
249
- return nil unless attributes.is_a?(Hash)
250
- self.class.swagger_types.each_pair do |key, type|
251
- if type =~ /\AArray<(.*)>/i
252
- # check to ensure the input is an array given that the the attribute
253
- # is documented as an array but the input is not
254
- if attributes[self.class.attribute_map[key]].is_a?(Array)
255
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
256
- end
257
- elsif !attributes[self.class.attribute_map[key]].nil?
258
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
259
- end # or else data not found in attributes(hash), not an issue as the data can be optional
260
- end
261
-
262
- self
263
- end
264
-
265
- # Deserializes the data based on type
266
- # @param string type Data type
267
- # @param string value Value to be deserialized
268
- # @return [Object] Deserialized data
269
- def _deserialize(type, value)
270
- case type.to_sym
271
- when :DateTime
272
- DateTime.parse(value)
273
- when :Date
274
- Date.parse(value)
275
- when :String
276
- value.to_s
277
- when :Integer
278
- value.to_i
279
- when :Float
280
- value.to_f
281
- when :BOOLEAN
282
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
283
- true
284
- else
285
- false
286
- end
287
- when :Object
288
- # generic object (usually a Hash), return directly
289
- value
290
- when /\AArray<(?<inner_type>.+)>\z/
291
- inner_type = Regexp.last_match[:inner_type]
292
- value.map { |v| _deserialize(inner_type, v) }
293
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
294
- k_type = Regexp.last_match[:k_type]
295
- v_type = Regexp.last_match[:v_type]
296
- {}.tap do |hash|
297
- value.each do |k, v|
298
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
299
- end
300
- end
301
- else # model
302
- temp_model = SwaggerClient.const_get(type).new
303
- temp_model.build_from_hash(value)
304
- end
305
- end
306
-
307
- # Returns the string representation of the object
308
- # @return [String] String presentation of the object
309
- def to_s
310
- to_hash.to_s
311
- end
312
-
313
- # to_body is an alias to to_hash (backward compatibility)
314
- # @return [Hash] Returns the object in the form of hash
315
- def to_body
316
- to_hash
317
- end
318
-
319
- # Returns the object in the form of hash
320
- # @return [Hash] Returns the object in the form of hash
321
- def to_hash
322
- hash = {}
323
- self.class.attribute_map.each_pair do |attr, param|
324
- value = self.send(attr)
325
- next if value.nil?
326
- hash[param] = _to_hash(value)
327
- end
328
- hash
329
- end
330
-
331
- # Outputs non-array value in the form of hash
332
- # For object, use to_hash. Otherwise, just return the value
333
- # @param [Object] value Any valid value
334
- # @return [Hash] Returns the value in the form of hash
335
- def _to_hash(value)
336
- if value.is_a?(Array)
337
- value.compact.map{ |v| _to_hash(v) }
338
- elsif value.is_a?(Hash)
339
- {}.tap do |hash|
340
- value.each { |k, v| hash[k] = _to_hash(v) }
341
- end
342
- elsif value.respond_to? :to_hash
343
- value.to_hash
344
- else
345
- value
346
- end
347
- end
348
-
349
- end
350
-
351
- end