clever-ruby 0.14.0 → 1.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 (297) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile +4 -1
  4. data/Makefile +10 -0
  5. data/README.md +175 -68
  6. data/Rakefile +6 -36
  7. data/circle.yml +1 -1
  8. data/clever-ruby.gemspec +43 -33
  9. data/docs/BadRequest.md +8 -0
  10. data/docs/DataApi.md +2144 -0
  11. data/docs/District.md +10 -0
  12. data/docs/DistrictAdmin.md +12 -0
  13. data/docs/DistrictAdminResponse.md +8 -0
  14. data/docs/DistrictAdminsResponse.md +8 -0
  15. data/docs/DistrictObject.md +8 -0
  16. data/docs/DistrictResponse.md +8 -0
  17. data/docs/DistrictStatus.md +15 -0
  18. data/docs/DistrictStatusResponse.md +8 -0
  19. data/docs/DistrictsCreated.md +10 -0
  20. data/docs/DistrictsDeleted.md +10 -0
  21. data/docs/DistrictsResponse.md +8 -0
  22. data/docs/DistrictsUpdated.md +10 -0
  23. data/docs/Event.md +9 -0
  24. data/docs/EventResponse.md +8 -0
  25. data/docs/EventsApi.md +424 -0
  26. data/docs/EventsResponse.md +8 -0
  27. data/docs/GradeLevelsResponse.md +8 -0
  28. data/docs/InternalError.md +8 -0
  29. data/docs/Location.md +13 -0
  30. data/docs/Name.md +10 -0
  31. data/docs/NotFound.md +8 -0
  32. data/docs/Principal.md +9 -0
  33. data/docs/School.md +22 -0
  34. data/docs/SchoolAdmin.md +14 -0
  35. data/docs/SchoolAdminObject.md +8 -0
  36. data/docs/SchoolAdminResponse.md +8 -0
  37. data/docs/SchoolAdminsResponse.md +8 -0
  38. data/docs/SchoolObject.md +8 -0
  39. data/docs/SchoolResponse.md +8 -0
  40. data/docs/SchooladminsCreated.md +10 -0
  41. data/docs/SchooladminsDeleted.md +10 -0
  42. data/docs/SchooladminsUpdated.md +10 -0
  43. data/docs/SchoolsCreated.md +10 -0
  44. data/docs/SchoolsDeleted.md +10 -0
  45. data/docs/SchoolsResponse.md +8 -0
  46. data/docs/SchoolsUpdated.md +10 -0
  47. data/docs/Section.md +25 -0
  48. data/docs/SectionObject.md +8 -0
  49. data/docs/SectionResponse.md +8 -0
  50. data/docs/SectionsCreated.md +10 -0
  51. data/docs/SectionsDeleted.md +10 -0
  52. data/docs/SectionsResponse.md +8 -0
  53. data/docs/SectionsUpdated.md +10 -0
  54. data/docs/Student.md +27 -0
  55. data/docs/StudentContact.md +16 -0
  56. data/docs/StudentContactObject.md +8 -0
  57. data/docs/StudentContactResponse.md +8 -0
  58. data/docs/StudentContactsResponse.md +8 -0
  59. data/docs/StudentObject.md +8 -0
  60. data/docs/StudentResponse.md +8 -0
  61. data/docs/StudentcontactsCreated.md +10 -0
  62. data/docs/StudentcontactsDeleted.md +10 -0
  63. data/docs/StudentcontactsUpdated.md +10 -0
  64. data/docs/StudentsCreated.md +10 -0
  65. data/docs/StudentsDeleted.md +10 -0
  66. data/docs/StudentsResponse.md +8 -0
  67. data/docs/StudentsUpdated.md +10 -0
  68. data/docs/Teacher.md +19 -0
  69. data/docs/TeacherObject.md +8 -0
  70. data/docs/TeacherResponse.md +8 -0
  71. data/docs/TeachersCreated.md +10 -0
  72. data/docs/TeachersDeleted.md +10 -0
  73. data/docs/TeachersResponse.md +8 -0
  74. data/docs/TeachersUpdated.md +10 -0
  75. data/docs/Term.md +10 -0
  76. data/git_push.sh +55 -0
  77. data/instructions.md +12 -0
  78. data/lib/clever-ruby.rb +89 -318
  79. data/lib/clever-ruby/api/data_api.rb +2090 -0
  80. data/lib/clever-ruby/api/events_api.rb +429 -0
  81. data/lib/clever-ruby/api_client.rb +401 -0
  82. data/lib/clever-ruby/api_error.rb +37 -0
  83. data/lib/clever-ruby/configuration.rb +187 -25
  84. data/lib/clever-ruby/models/bad_request.rb +187 -0
  85. data/lib/clever-ruby/models/district.rb +205 -0
  86. data/lib/clever-ruby/models/district_admin.rb +223 -0
  87. data/lib/clever-ruby/models/district_admin_response.rb +187 -0
  88. data/lib/clever-ruby/models/district_admins_response.rb +189 -0
  89. data/lib/clever-ruby/models/district_object.rb +187 -0
  90. data/lib/clever-ruby/models/district_response.rb +187 -0
  91. data/lib/clever-ruby/models/district_status.rb +250 -0
  92. data/lib/clever-ruby/models/district_status_response.rb +187 -0
  93. data/lib/clever-ruby/models/districts_created.rb +206 -0
  94. data/lib/clever-ruby/models/districts_deleted.rb +207 -0
  95. data/lib/clever-ruby/models/districts_response.rb +189 -0
  96. data/lib/clever-ruby/models/districts_updated.rb +207 -0
  97. data/lib/clever-ruby/models/event.rb +201 -0
  98. data/lib/clever-ruby/models/event_response.rb +187 -0
  99. data/lib/clever-ruby/models/events_response.rb +189 -0
  100. data/lib/clever-ruby/models/grade_levels_response.rb +189 -0
  101. data/lib/clever-ruby/models/internal_error.rb +187 -0
  102. data/lib/clever-ruby/models/location.rb +232 -0
  103. data/lib/clever-ruby/models/name.rb +205 -0
  104. data/lib/clever-ruby/models/not_found.rb +187 -0
  105. data/lib/clever-ruby/models/principal.rb +196 -0
  106. data/lib/clever-ruby/models/school.rb +313 -0
  107. data/lib/clever-ruby/models/school_admin.rb +243 -0
  108. data/lib/clever-ruby/models/school_admin_object.rb +187 -0
  109. data/lib/clever-ruby/models/school_admin_response.rb +187 -0
  110. data/lib/clever-ruby/models/school_admins_response.rb +189 -0
  111. data/lib/clever-ruby/models/school_object.rb +187 -0
  112. data/lib/clever-ruby/models/school_response.rb +187 -0
  113. data/lib/clever-ruby/models/schooladmins_created.rb +207 -0
  114. data/lib/clever-ruby/models/schooladmins_deleted.rb +207 -0
  115. data/lib/clever-ruby/models/schooladmins_updated.rb +207 -0
  116. data/lib/clever-ruby/models/schools_created.rb +207 -0
  117. data/lib/clever-ruby/models/schools_deleted.rb +207 -0
  118. data/lib/clever-ruby/models/schools_response.rb +189 -0
  119. data/lib/clever-ruby/models/schools_updated.rb +207 -0
  120. data/lib/clever-ruby/models/section.rb +344 -0
  121. data/lib/clever-ruby/models/section_object.rb +187 -0
  122. data/lib/clever-ruby/models/section_response.rb +187 -0
  123. data/lib/clever-ruby/models/sections_created.rb +207 -0
  124. data/lib/clever-ruby/models/sections_deleted.rb +207 -0
  125. data/lib/clever-ruby/models/sections_response.rb +189 -0
  126. data/lib/clever-ruby/models/sections_updated.rb +207 -0
  127. data/lib/clever-ruby/models/student.rb +360 -0
  128. data/lib/clever-ruby/models/student_contact.rb +259 -0
  129. data/lib/clever-ruby/models/student_contact_object.rb +187 -0
  130. data/lib/clever-ruby/models/student_contact_response.rb +187 -0
  131. data/lib/clever-ruby/models/student_contacts_response.rb +189 -0
  132. data/lib/clever-ruby/models/student_object.rb +187 -0
  133. data/lib/clever-ruby/models/student_response.rb +187 -0
  134. data/lib/clever-ruby/models/studentcontacts_created.rb +207 -0
  135. data/lib/clever-ruby/models/studentcontacts_deleted.rb +207 -0
  136. data/lib/clever-ruby/models/studentcontacts_updated.rb +207 -0
  137. data/lib/clever-ruby/models/students_created.rb +196 -0
  138. data/lib/clever-ruby/models/students_deleted.rb +206 -0
  139. data/lib/clever-ruby/models/students_response.rb +189 -0
  140. data/lib/clever-ruby/models/students_updated.rb +207 -0
  141. data/lib/clever-ruby/models/teacher.rb +288 -0
  142. data/lib/clever-ruby/models/teacher_object.rb +187 -0
  143. data/lib/clever-ruby/models/teacher_response.rb +187 -0
  144. data/lib/clever-ruby/models/teachers_created.rb +207 -0
  145. data/lib/clever-ruby/models/teachers_deleted.rb +207 -0
  146. data/lib/clever-ruby/models/teachers_response.rb +189 -0
  147. data/lib/clever-ruby/models/teachers_updated.rb +207 -0
  148. data/lib/clever-ruby/models/term.rb +205 -0
  149. data/lib/clever-ruby/version.rb +12 -4
  150. data/override/api_client.rb +401 -0
  151. data/override/config.json +5 -0
  152. data/override/models/districts_created.rb +206 -0
  153. data/override/models/districts_deleted.rb +207 -0
  154. data/override/models/districts_updated.rb +207 -0
  155. data/override/models/schooladmins_created.rb +207 -0
  156. data/override/models/schooladmins_deleted.rb +207 -0
  157. data/override/models/schooladmins_updated.rb +207 -0
  158. data/override/models/schools_created.rb +207 -0
  159. data/override/models/schools_deleted.rb +207 -0
  160. data/override/models/schools_updated.rb +207 -0
  161. data/override/models/sections_created.rb +207 -0
  162. data/override/models/sections_deleted.rb +207 -0
  163. data/override/models/sections_updated.rb +207 -0
  164. data/override/models/studentcontacts_created.rb +207 -0
  165. data/override/models/studentcontacts_deleted.rb +207 -0
  166. data/override/models/studentcontacts_updated.rb +207 -0
  167. data/override/models/students_created.rb +196 -0
  168. data/override/models/students_deleted.rb +206 -0
  169. data/override/models/students_updated.rb +207 -0
  170. data/override/models/teachers_created.rb +207 -0
  171. data/override/models/teachers_deleted.rb +207 -0
  172. data/override/models/teachers_updated.rb +207 -0
  173. data/override/override.sh +9 -0
  174. data/sample/sample.rb +16 -0
  175. metadata +252 -293
  176. data/.document +0 -5
  177. data/.gitignore +0 -22
  178. data/.rubocop.yml +0 -4
  179. data/.yardopts +0 -2
  180. data/LICENSE.txt +0 -20
  181. data/lib/clever-ruby/api_operations/list.rb +0 -130
  182. data/lib/clever-ruby/api_operations/nested_list.rb +0 -95
  183. data/lib/clever-ruby/api_operations/page.rb +0 -71
  184. data/lib/clever-ruby/api_operations/pagelist.rb +0 -43
  185. data/lib/clever-ruby/api_operations/results_list.rb +0 -31
  186. data/lib/clever-ruby/api_resource.rb +0 -174
  187. data/lib/clever-ruby/clever_object.rb +0 -246
  188. data/lib/clever-ruby/district.rb +0 -75
  189. data/lib/clever-ruby/district_admin.rb +0 -45
  190. data/lib/clever-ruby/errors/api_connection_error.rb +0 -5
  191. data/lib/clever-ruby/errors/api_error.rb +0 -5
  192. data/lib/clever-ruby/errors/authentication_error.rb +0 -5
  193. data/lib/clever-ruby/errors/clever_error.rb +0 -52
  194. data/lib/clever-ruby/errors/invalid_request_error.rb +0 -17
  195. data/lib/clever-ruby/event.rb +0 -61
  196. data/lib/clever-ruby/json.rb +0 -34
  197. data/lib/clever-ruby/nested_resource.rb +0 -41
  198. data/lib/clever-ruby/school.rb +0 -17
  199. data/lib/clever-ruby/school_admin.rb +0 -19
  200. data/lib/clever-ruby/section.rb +0 -17
  201. data/lib/clever-ruby/student.rb +0 -30
  202. data/lib/clever-ruby/teacher.rb +0 -17
  203. data/lib/clever-ruby/util.rb +0 -108
  204. data/test/data/vcr_cassettes/Clever_APIOperations_List/counts_district_properly.yml +0 -52
  205. data/test/data/vcr_cassettes/Clever_APIOperations_List/counts_event_properly.yml +0 -52
  206. data/test/data/vcr_cassettes/Clever_APIOperations_List/counts_school_admin_properly.yml +0 -52
  207. data/test/data/vcr_cassettes/Clever_APIOperations_List/counts_school_properly.yml +0 -52
  208. data/test/data/vcr_cassettes/Clever_APIOperations_List/counts_section_properly.yml +0 -52
  209. data/test/data/vcr_cassettes/Clever_APIOperations_List/counts_student_properly.yml +0 -52
  210. data/test/data/vcr_cassettes/Clever_APIOperations_List/counts_teacher_properly.yml +0 -52
  211. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_a_single_district.yml +0 -101
  212. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_a_single_district_admin.yml +0 -90
  213. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_a_single_event.yml +0 -124
  214. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_a_single_school.yml +0 -113
  215. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_a_single_school_admin.yml +0 -101
  216. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_a_single_section.yml +0 -368
  217. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_a_single_student.yml +0 -176
  218. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_a_single_teacher.yml +0 -191
  219. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_districts_by_page.yml +0 -101
  220. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_districts_with_multiple_ids.yml +0 -101
  221. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_events_by_page.yml +0 -122
  222. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_events_with_multiple_ids.yml +0 -131
  223. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_school_admins_by_page.yml +0 -101
  224. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_school_admins_with_multiple_ids.yml +0 -101
  225. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_schools_by_page.yml +0 -110
  226. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_schools_with_multiple_ids.yml +0 -116
  227. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_sections_by_page.yml +0 -1168
  228. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_sections_with_multiple_ids.yml +0 -163
  229. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_students_by_page.yml +0 -1207
  230. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_students_with_multiple_ids.yml +0 -127
  231. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_teachers_by_page.yml +0 -190
  232. data/test/data/vcr_cassettes/Clever_APIOperations_List/finds_teachers_with_multiple_ids.yml +0 -131
  233. data/test/data/vcr_cassettes/Clever_APIOperations_List/retrieves_all_district.yml +0 -101
  234. data/test/data/vcr_cassettes/Clever_APIOperations_List/retrieves_all_event.yml +0 -122
  235. data/test/data/vcr_cassettes/Clever_APIOperations_List/retrieves_all_school.yml +0 -110
  236. data/test/data/vcr_cassettes/Clever_APIOperations_List/retrieves_all_school_admin.yml +0 -101
  237. data/test/data/vcr_cassettes/Clever_APIOperations_List/retrieves_all_section.yml +0 -1168
  238. data/test/data/vcr_cassettes/Clever_APIOperations_List/retrieves_all_student.yml +0 -1207
  239. data/test/data/vcr_cassettes/Clever_APIOperations_List/retrieves_all_teacher.yml +0 -190
  240. data/test/data/vcr_cassettes/Clever_District/pages_methods/pages_a_district_s_events.yml +0 -526
  241. data/test/data/vcr_cassettes/Clever_District/pages_methods/pages_a_district_s_schools.yml +0 -240
  242. data/test/data/vcr_cassettes/Clever_District/pages_methods/pages_a_district_s_sections.yml +0 -3674
  243. data/test/data/vcr_cassettes/Clever_District/pages_methods/pages_a_district_s_students.yml +0 -2387
  244. data/test/data/vcr_cassettes/Clever_District/pages_methods/pages_a_district_s_teachers.yml +0 -717
  245. data/test/data/vcr_cassettes/Clever_District_without_global_token/pages_methods/pages_a_district_s_events.yml +0 -152
  246. data/test/data/vcr_cassettes/Clever_District_without_global_token/pages_methods/pages_a_district_s_schools.yml +0 -211
  247. data/test/data/vcr_cassettes/Clever_District_without_global_token/pages_methods/pages_a_district_s_sections.yml +0 -3649
  248. data/test/data/vcr_cassettes/Clever_District_without_global_token/pages_methods/pages_a_district_s_students.yml +0 -2362
  249. data/test/data/vcr_cassettes/Clever_District_without_global_token/pages_methods/pages_a_district_s_teachers.yml +0 -688
  250. data/test/data/vcr_cassettes/Clever_District_without_global_token/retrieves_a_district_s_events.yml +0 -89
  251. data/test/data/vcr_cassettes/Clever_District_without_global_token/retrieves_a_district_s_school_admins.yml +0 -101
  252. data/test/data/vcr_cassettes/Clever_District_without_global_token/retrieves_a_district_s_schools.yml +0 -164
  253. data/test/data/vcr_cassettes/Clever_District_without_global_token/retrieves_a_district_s_sections.yml +0 -1168
  254. data/test/data/vcr_cassettes/Clever_District_without_global_token/retrieves_a_district_s_students.yml +0 -1207
  255. data/test/data/vcr_cassettes/Clever_District_without_global_token/retrieves_a_district_s_teachers.yml +0 -324
  256. data/test/data/vcr_cassettes/Clever_NestedResource/must_include_auth_token_in_linked_resources.yml +0 -197
  257. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_district_s_events.yml +0 -237
  258. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_district_s_schools.yml +0 -217
  259. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_district_s_sections.yml +0 -2333
  260. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_district_s_students.yml +0 -2411
  261. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_district_s_teachers.yml +0 -377
  262. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_school_admin_s_schools.yml +0 -205
  263. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_school_s_district.yml +0 -162
  264. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_school_s_events.yml +0 -215
  265. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_school_s_sections.yml +0 -1153
  266. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_school_s_students.yml +0 -1081
  267. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_school_s_teachers.yml +0 -283
  268. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_section_s_district.yml +0 -417
  269. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_section_s_events.yml +0 -470
  270. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_section_s_school.yml +0 -420
  271. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_section_s_students.yml +0 -482
  272. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_section_s_teacher.yml +0 -418
  273. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_student_s_district.yml +0 -226
  274. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_student_s_events.yml +0 -279
  275. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_student_s_school.yml +0 -229
  276. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_student_s_sections.yml +0 -301
  277. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_student_s_teachers.yml +0 -277
  278. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_teacher_s_district.yml +0 -240
  279. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_teacher_s_events.yml +0 -293
  280. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_teacher_s_school.yml +0 -243
  281. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_teacher_s_sections.yml +0 -321
  282. data/test/data/vcr_cassettes/Clever_NestedResource/retrieves_a_teacher_s_students.yml +0 -323
  283. data/test/data/vcr_cassettes/Error_handling/raises_an_InvalidRequestError_when_given_a_bad_created_since.yml +0 -151
  284. data/test/data/vcr_cassettes/Optional_attributes/has_the_expected_value_for_an_optional_attribute_that_is_present.yml +0 -55
  285. data/test/data/vcr_cassettes/last_method/page/has_working_first_and_last_methods.yml +0 -800
  286. data/test/integration/api_operations/list_test.rb +0 -117
  287. data/test/integration/district_test.rb +0 -53
  288. data/test/integration/district_with_non_global_token_test.rb +0 -88
  289. data/test/integration/error_handling_test.rb +0 -17
  290. data/test/integration/last_test.rb +0 -56
  291. data/test/integration/nested_resource_test.rb +0 -31
  292. data/test/test_helper.rb +0 -18
  293. data/test/unit/api_resource_test.rb +0 -48
  294. data/test/unit/clever_test.rb +0 -65
  295. data/test/unit/configuration_test.rb +0 -37
  296. data/test/unit/event_test.rb +0 -57
  297. data/test/unit/optional_attributes_test.rb +0 -27
@@ -0,0 +1,10 @@
1
+ # Clever::StudentcontactsDeleted
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | |
7
+ **id** | **String** | | [optional]
8
+ **data** | [**StudentContactObject**](StudentContactObject.md) | | [optional]
9
+
10
+
@@ -0,0 +1,10 @@
1
+ # Clever::StudentcontactsUpdated
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | |
7
+ **id** | **String** | | [optional]
8
+ **data** | [**StudentContactObject**](StudentContactObject.md) | | [optional]
9
+
10
+
@@ -0,0 +1,10 @@
1
+ # Clever::StudentsCreated
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | |
7
+ **id** | **String** | | [optional]
8
+ **data** | [**StudentObject**](StudentObject.md) | | [optional]
9
+
10
+
@@ -0,0 +1,10 @@
1
+ # Clever::StudentsDeleted
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | |
7
+ **id** | **String** | | [optional]
8
+ **data** | [**StudentObject**](StudentObject.md) | | [optional]
9
+
10
+
@@ -0,0 +1,8 @@
1
+ # Clever::StudentsResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **data** | [**Array<StudentResponse>**](StudentResponse.md) | | [optional]
7
+
8
+
@@ -0,0 +1,10 @@
1
+ # Clever::StudentsUpdated
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | |
7
+ **id** | **String** | | [optional]
8
+ **data** | [**StudentObject**](StudentObject.md) | | [optional]
9
+
10
+
@@ -0,0 +1,19 @@
1
+ # Clever::Teacher
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **id** | **String** | | [optional]
7
+ **created** | **String** | | [optional]
8
+ **district** | **String** | | [optional]
9
+ **email** | **String** | | [optional]
10
+ **last_modified** | **String** | | [optional]
11
+ **name** | [**Name**](Name.md) | | [optional]
12
+ **school** | **String** | | [optional]
13
+ **schools** | **Array<String>** | | [optional]
14
+ **sis_id** | **String** | | [optional]
15
+ **state_id** | **String** | | [optional]
16
+ **teacher_number** | **String** | | [optional]
17
+ **title** | **String** | | [optional]
18
+
19
+
@@ -0,0 +1,8 @@
1
+ # Clever::TeacherObject
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **object** | [**Teacher**](Teacher.md) | | [optional]
7
+
8
+
@@ -0,0 +1,8 @@
1
+ # Clever::TeacherResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **data** | [**Teacher**](Teacher.md) | | [optional]
7
+
8
+
@@ -0,0 +1,10 @@
1
+ # Clever::TeachersCreated
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | |
7
+ **id** | **String** | | [optional]
8
+ **data** | [**TeacherObject**](TeacherObject.md) | | [optional]
9
+
10
+
@@ -0,0 +1,10 @@
1
+ # Clever::TeachersDeleted
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | |
7
+ **id** | **String** | | [optional]
8
+ **data** | [**TeacherObject**](TeacherObject.md) | | [optional]
9
+
10
+
@@ -0,0 +1,8 @@
1
+ # Clever::TeachersResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **data** | [**Array<TeacherResponse>**](TeacherResponse.md) | | [optional]
7
+
8
+
@@ -0,0 +1,10 @@
1
+ # Clever::TeachersUpdated
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | |
7
+ **id** | **String** | | [optional]
8
+ **data** | [**TeacherObject**](TeacherObject.md) | | [optional]
9
+
10
+
@@ -0,0 +1,10 @@
1
+ # Clever::Term
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **name** | **String** | | [optional]
7
+ **start_date** | **String** | | [optional]
8
+ **end_date** | **String** | | [optional]
9
+
10
+
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ #
3
+ # Generated by: https://github.com/swagger-api/swagger-codegen.git
4
+ #
5
+ # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
6
+ #
7
+ # Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update"
8
+
9
+ git_user_id=$1
10
+ git_repo_id=$2
11
+ release_note=$3
12
+
13
+ if [ "$git_user_id" = "" ]; then
14
+ git_user_id="GIT_USER_ID"
15
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
16
+ fi
17
+
18
+ if [ "$git_repo_id" = "" ]; then
19
+ git_repo_id="GIT_REPO_ID"
20
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
21
+ fi
22
+
23
+ if [ "$release_note" = "" ]; then
24
+ release_note="Minor update"
25
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
26
+ fi
27
+
28
+ # Initialize the local directory as a Git repository
29
+ git init
30
+
31
+ # Adds the files in the local repository and stages them for commit.
32
+ git add .
33
+
34
+ # Commits the tracked changes and prepares them to be pushed to a remote repository.
35
+ git commit -m "$release_note"
36
+
37
+ # Sets the new remote
38
+ git_remote=`git remote`
39
+ if [ "$git_remote" = "" ]; then # git remote not defined
40
+
41
+ if [ "$GIT_TOKEN" = "" ]; then
42
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git crediential in your environment."
43
+ git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git
44
+ else
45
+ git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git
46
+ fi
47
+
48
+ fi
49
+
50
+ git pull origin master
51
+
52
+ # Pushes (Forces) the changes in the local repository up to the remote repository
53
+ echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git"
54
+ git push origin master 2>&1 | grep -v 'To https'
55
+
@@ -0,0 +1,12 @@
1
+ ## Updating the Library
2
+
3
+ 1. Git clone swagger-codegen (https://github.com/swagger-api/swagger-codegen)
4
+
5
+ 2. Git clone Clever's swagger-api repo (https://github.com/Clever/swagger-api)
6
+
7
+ 3. Run this command in the swagger-codegen repo
8
+ ```
9
+ java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i $PATH_TO_SWAGGER_API_REPO/v1.2-client.yml -c $PATH_TO_THIS_REPO/override/config.json -l ruby -o $PATH_TO_THIS_REPO
10
+ ```
11
+
12
+ 4. Run `make build` to copy over the override files
@@ -1,334 +1,105 @@
1
- # rubocop:disable FileName
2
- require 'rest_client'
3
- require 'multi_json'
4
- require 'open-uri'
5
- require 'set'
6
- require 'uri'
7
- require 'cgi'
8
- require 'json'
1
+ =begin
2
+ #Clever API
9
3
 
10
- require 'clever-ruby/version'
4
+ #The Clever API
11
5
 
12
- # API operations
13
- require 'clever-ruby/api_operations/list'
14
- require 'clever-ruby/api_operations/nested_list'
15
- require 'clever-ruby/api_operations/pagelist'
16
- require 'clever-ruby/api_operations/results_list'
17
- require 'clever-ruby/api_operations/page'
6
+ OpenAPI spec version: 1.2.0
18
7
 
19
- # Helpers
20
- require 'clever-ruby/util'
21
- require 'clever-ruby/json'
22
- require 'clever-ruby/configuration'
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
23
9
 
24
- # Resources
25
- require 'clever-ruby/clever_object'
26
- require 'clever-ruby/api_resource'
27
- require 'clever-ruby/nested_resource'
28
- require 'clever-ruby/district'
29
- require 'clever-ruby/school'
30
- require 'clever-ruby/student'
31
- require 'clever-ruby/section'
32
- require 'clever-ruby/teacher'
33
- require 'clever-ruby/event'
34
- require 'clever-ruby/school_admin'
35
- require 'clever-ruby/district_admin'
10
+ =end
36
11
 
37
- # Errors
38
- require 'clever-ruby/errors/clever_error'
12
+ # Common files
13
+ require 'clever-ruby/api_client'
14
+ require 'clever-ruby/api_error'
15
+ require 'clever-ruby/version'
16
+ require 'clever-ruby/configuration'
39
17
 
40
- require 'clever-ruby/errors/api_connection_error'
41
- require 'clever-ruby/errors/api_error'
42
- require 'clever-ruby/errors/authentication_error'
43
- require 'clever-ruby/errors/invalid_request_error'
18
+ # Models
19
+ require 'clever-ruby/models/bad_request'
20
+ require 'clever-ruby/models/district'
21
+ require 'clever-ruby/models/district_admin'
22
+ require 'clever-ruby/models/district_admin_response'
23
+ require 'clever-ruby/models/district_admins_response'
24
+ require 'clever-ruby/models/district_object'
25
+ require 'clever-ruby/models/district_response'
26
+ require 'clever-ruby/models/district_status'
27
+ require 'clever-ruby/models/district_status_response'
28
+ require 'clever-ruby/models/districts_created'
29
+ require 'clever-ruby/models/districts_deleted'
30
+ require 'clever-ruby/models/districts_response'
31
+ require 'clever-ruby/models/districts_updated'
32
+ require 'clever-ruby/models/event'
33
+ require 'clever-ruby/models/event_response'
34
+ require 'clever-ruby/models/events_response'
35
+ require 'clever-ruby/models/grade_levels_response'
36
+ require 'clever-ruby/models/internal_error'
37
+ require 'clever-ruby/models/location'
38
+ require 'clever-ruby/models/name'
39
+ require 'clever-ruby/models/not_found'
40
+ require 'clever-ruby/models/principal'
41
+ require 'clever-ruby/models/school'
42
+ require 'clever-ruby/models/school_admin'
43
+ require 'clever-ruby/models/school_admin_object'
44
+ require 'clever-ruby/models/school_admin_response'
45
+ require 'clever-ruby/models/school_admins_response'
46
+ require 'clever-ruby/models/school_object'
47
+ require 'clever-ruby/models/school_response'
48
+ require 'clever-ruby/models/schooladmins_created'
49
+ require 'clever-ruby/models/schooladmins_deleted'
50
+ require 'clever-ruby/models/schooladmins_updated'
51
+ require 'clever-ruby/models/schools_created'
52
+ require 'clever-ruby/models/schools_deleted'
53
+ require 'clever-ruby/models/schools_response'
54
+ require 'clever-ruby/models/schools_updated'
55
+ require 'clever-ruby/models/section'
56
+ require 'clever-ruby/models/section_object'
57
+ require 'clever-ruby/models/section_response'
58
+ require 'clever-ruby/models/sections_created'
59
+ require 'clever-ruby/models/sections_deleted'
60
+ require 'clever-ruby/models/sections_response'
61
+ require 'clever-ruby/models/sections_updated'
62
+ require 'clever-ruby/models/student'
63
+ require 'clever-ruby/models/student_contact'
64
+ require 'clever-ruby/models/student_contact_object'
65
+ require 'clever-ruby/models/student_contact_response'
66
+ require 'clever-ruby/models/student_contacts_response'
67
+ require 'clever-ruby/models/student_object'
68
+ require 'clever-ruby/models/student_response'
69
+ require 'clever-ruby/models/studentcontacts_created'
70
+ require 'clever-ruby/models/studentcontacts_deleted'
71
+ require 'clever-ruby/models/studentcontacts_updated'
72
+ require 'clever-ruby/models/students_created'
73
+ require 'clever-ruby/models/students_deleted'
74
+ require 'clever-ruby/models/students_response'
75
+ require 'clever-ruby/models/students_updated'
76
+ require 'clever-ruby/models/teacher'
77
+ require 'clever-ruby/models/teacher_object'
78
+ require 'clever-ruby/models/teacher_response'
79
+ require 'clever-ruby/models/teachers_created'
80
+ require 'clever-ruby/models/teachers_deleted'
81
+ require 'clever-ruby/models/teachers_response'
82
+ require 'clever-ruby/models/teachers_updated'
83
+ require 'clever-ruby/models/term'
84
+
85
+ # APIs
86
+ require 'clever-ruby/api/data_api'
87
+ require 'clever-ruby/api/events_api'
44
88
 
45
- # Clever Ruby library
46
89
  module Clever
47
90
  class << self
48
- # Global configuration for using Clever
49
- # @api public
50
- # @example Configure your API key
91
+ # Customize default settings for the SDK using block.
51
92
  # Clever.configure do |config|
52
- # config.api_key = 'YOUR-API-KEY'
93
+ # config.username = "xxx"
94
+ # config.password = "xxx"
53
95
  # end
54
- # @return [Object]
96
+ # If no block given, return the default Configuration object.
55
97
  def configure
56
- yield configuration
57
- end
58
-
59
- # Retrieve your stored API key
60
- # @api private
61
- # @return [String] API key
62
- def api_key
63
- configuration.api_key
64
- end
65
-
66
- # Retrieve the configured timeout
67
- # @api private
68
- # @return [Fixnum] Configuration timeout
69
- def timeout
70
- configuration.timeout
71
- end
72
-
73
- # Retrieve the configured open timeout
74
- # @api private
75
- # @return [Fixnum] Open timeout
76
- def open_timeout
77
- configuration.open_timeout
78
- end
79
-
80
- # Retrieve your stored API token
81
- # @api private
82
- # @return [String] API token
83
- def token
84
- configuration.token
85
- end
86
-
87
- # Retrieve the global Clever configuration object
88
- # @api private
89
- # @return [Hash] API configuration object
90
- def configuration
91
- @configuration ||= Clever::Configuration.new
92
- end
93
-
94
- # Retrieve the URL of the Clever API being used
95
- # @api private
96
- # @return [String] API url
97
- def api_url(url = '')
98
- configuration.api_base + url
99
- end
100
- end
101
-
102
- # Convert a hash of params to a query string. Does not prepend the leading '?'
103
- # @api private
104
- # @param params [Hash] Parameters to stringify
105
- # @return [String] Query string
106
- def self.convert_to_query_string(params = nil)
107
- if params && params.count
108
- params_arr = Util.flatten_params(params).map do |p|
109
- "#{URI.encode(p[0].to_s)}=#{URI.encode(p[1].to_s)}"
110
- end
111
- params_arr.join('&')
112
- else
113
- ''
114
- end
115
- end
116
-
117
- # Generate the URL and payload for a request based on data about the request
118
- # @api private
119
- # @param method [Symbol] HTTP method used
120
- # @param url [String] URL to send to
121
- # @param params [Hash] Parameters to send
122
- # @return [String, String] URL and payload to send via HTTP
123
- def self.create_payload(method, url, params)
124
- case method.to_s.downcase.to_sym
125
- when :get, :head, :delete
126
- url_obj = URI.parse(url)
127
- if url_obj.query
128
- params = CGI.parse(url_obj.query).map { |k, v| { k => v[0] } }.reduce(:merge).merge params
129
- end
130
- url_obj.query = convert_to_query_string params
131
- url = url_obj.to_s
132
- payload = nil
133
- else
134
- payload = params
135
- end
136
- [url, payload]
137
- end
138
-
139
- # Headers hash for user-agent tracking
140
- # @api private
141
- # @return [Hash] headers to add to request
142
- def self.tracking_headers
143
- {
144
- bindings_version: Clever::VERSION,
145
- lang: 'ruby',
146
- lang_version: RUBY_VERSION.to_s + ' p' + RUBY_PATCHLEVEL.to_s,
147
- platform: RUBY_PLATFORM.to_s,
148
- publisher: 'clever',
149
- uname: uname
150
- }
151
- end
152
-
153
- # Retrieves system's uname
154
- # @api private
155
- # @return [String] uname with the system's uname
156
- def self.uname
157
- `uname -a 2>/dev/null`.strip if RUBY_PLATFORM =~ /linux|darwin/i
158
- rescue SystemCallError
159
- 'cannot get uname'
160
- end
161
-
162
- # Create options hash that specifies an HTTP request from request data
163
- # @api private
164
- # @return [Hash] parameters for executing a request
165
- def self.create_request_opts(method, url, params, headers)
166
- params = Util.objects_to_ids params
167
- url = api_url url
168
- url, payload = create_payload method, url, params
169
-
170
- headers[:Authorization] = 'Bearer ' + Clever.token if Clever.token
171
- headers[:user_agent] = 'Clever/RubyBindings/' + Clever::VERSION
172
- headers[:x_clever_client_user_agent] = tracking_headers.to_json
173
-
174
- opts = {
175
- method: method,
176
- url: url,
177
- headers: headers,
178
- open_timeout: Clever.open_timeout,
179
- payload: payload,
180
- timeout: Clever.timeout
181
- }
182
- if Clever.api_key
183
- opts[:user] = Clever.api_key
184
- opts[:password] = ''
185
- end
186
- opts
187
- end
188
-
189
- # Confirm API key or token are globally configured
190
- # @api private
191
- # @return [nil]
192
- # @raise [AuthenticationError] Error if no authentication present
193
- def self.check_authorization(headers)
194
- unless Clever.api_key || Clever.token || headers.key?(:Authorization)
195
- fail AuthenticationError, 'No API key provided. (HINT: set your API key using '\
196
- '"Clever.configure { |config| config.api_key = <API-KEY> }" or your token using '\
197
- '"Clever.configure { |config| config.token = <TOKEN> }" '\
198
- 'or pass the district token as a second argument to retrieve)'
199
- end
200
- end
201
-
202
- # Send an HTTP request to the Clever API
203
- # @api private
204
- # @param method [Symbol] HTTP method used
205
- # @param url [String] URL to send to
206
- # @param params [Hash] parameters to send with the request
207
- # @param headers [Hash] headers to send with the request
208
- # @return [Hash] parsed JSON response
209
- # @raise [APIError] Error if API fails to return valid JSON
210
- def self.request(method, url, params = nil, headers = {})
211
- check_authorization(headers)
212
- opts = create_request_opts method, url, params, headers
213
- response = execute_request opts
214
-
215
- rbody = response.body
216
- rcode = response.code
217
- begin
218
- resp = Clever::JSON.load rbody
219
- rescue MultiJson::DecodeError
220
- raise APIError.new(
221
- "Invalid response object from API: #{rbody.inspect} (HTTP response code was #{rcode})",
222
- rcode, rbody)
223
- end
224
-
225
- resp
226
- end
227
-
228
- private
229
-
230
- # Execute an HTTP request safely
231
- # @api private
232
- # @param opts [Hash] Definition of the request to make
233
- # @return [String] Request results
234
- # @raise [APIConnectionError] Request failure
235
- def self.execute_request(opts)
236
- begin
237
- request = RestClient::Request.execute opts
238
- rescue SocketError => e
239
- handle_restclient_error e
240
- rescue NoMethodError => e
241
- # TODO: investigate
242
- # Work around RestClient bug
243
- if e.message =~ /\WRequestFailed\W/
244
- handle_restclient_error APIConnectionError.new 'Unexpected HTTP response code'
245
- else raise
98
+ if block_given?
99
+ yield(Configuration.default)
100
+ else
101
+ Configuration.default
246
102
  end
247
- rescue RestClient::ExceptionWithResponse => e
248
- rcode = e.http_code
249
- rbody = e.http_body
250
- if rcode && rbody
251
- handle_api_error rcode, rbody
252
- else handle_restclient_error e
253
- end
254
- rescue RestClient::Exception, Errno::ECONNREFUSED => e
255
- handle_restclient_error e
256
103
  end
257
-
258
- request
259
- end
260
-
261
- # Translate errors thrown by RestClient into standardized APIConnectionErrors
262
- # @api private
263
- # @param e [Error] Error to handle
264
- # @return [nil]
265
- # @raise [APIConnectionError] Standardized error for request failures
266
- def self.handle_restclient_error(e)
267
- case e
268
- when RestClient::ServerBrokeConnection, RestClient::RequestTimeout
269
- message = "Could not connect to Clever (#{configuration.api_base}). " \
270
- 'Please check your internet connection and try again.'
271
- when SocketError
272
- message = 'Unexpected error communicating when trying to connect to Clever. HINT: ' \
273
- 'You may be seeing this message because your DNS is not working. To check, try running ' \
274
- "'host api.clever.com' from the command line."
275
- else
276
- message = 'Unexpected error communicating with Clever.'
277
- end
278
- message += "\n\n(Network error: #{e.message})"
279
- fail APIConnectionError, message
280
- end
281
-
282
- # Translate errors returned as JSON by the Clever API into CleverErrors
283
- # @api private
284
- # @param rcode [Integer] response code
285
- # @param rbody [String] response body
286
- # @return [nil]
287
- # @raise [CleverError] Clever error corresponding to the failure observed
288
- def self.handle_api_error(rcode, rbody)
289
- begin
290
- error_obj = Clever::JSON.load rbody
291
- error = error_obj[:error]
292
- fail CleverError unless error # escape from parsing
293
- rescue MultiJson::DecodeError, CleverError
294
- raise APIError.new(
295
- "Invalid response object from API: #{rbody.inspect} (HTTP response code was #{rcode})",
296
- rcode, rbody)
297
- end
298
-
299
- case rcode
300
- when 400, 404 then
301
- fail invalid_request_error error, rcode, rbody, error_obj
302
- when 401
303
- fail authentication_error error, rcode, rbody, error_obj
304
- else
305
- fail api_error error, rcode, rbody, error_obj
306
- end
307
- end
308
-
309
- # Generate an InvalidRequestError
310
- # @api private
311
- # @return [InvalidRequestError]
312
- def self.invalid_request_error(error, rcode, rbody, error_obj)
313
- if error.is_a? Hash
314
- InvalidRequestError.new error[:message], error[:param], rcode, rbody, error_obj
315
- else
316
- InvalidRequestError.new error, '', rcode, rbody, error_obj
317
- end
318
- end
319
-
320
- # Generate an AuthenticationError
321
- # @api private
322
- # @return [AuthenticationError]
323
- def self.authentication_error(error, rcode, rbody, error_obj)
324
- AuthenticationError.new(error, rcode, rbody, error_obj)
325
- end
326
-
327
- # Generate an APIError
328
- # @api private
329
- # @return [APIError]
330
- def self.api_error(error, rcode, rbody, error_obj)
331
- error_msg = error.is_a?(Hash) ? error[:message] : error
332
- APIError.new(error_msg, rcode, rbody, error_obj)
333
104
  end
334
105
  end