clever 3.2.7 → 3.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/clever/client.rb +14 -1
- data/lib/clever/types/classroom.rb +7 -1
- data/lib/clever/types/school.rb +16 -0
- data/lib/clever/types/section.rb +4 -2
- data/lib/clever/version.rb +1 -1
- data/lib/clever.rb +2 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90f72ac0202566192980b230958038397f7618a1fcb239eebc556be7447cf243
|
4
|
+
data.tar.gz: 658d719e6cc05ee3eaae37622ec83ebb1271f7cdc9aeb96a8800de238c2653fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bc02e4fe7e255869023332c60baf65beaa535874dc7dba42a1d70feb8a86c871f3e1eb27c4df372fb8a68dcb4273d32b48da56d9d123f29c147fc5e048fbc5c
|
7
|
+
data.tar.gz: '098e06ae89ebb3ed254999d3b8891bbddcb076e7dddbb455e4c05ab86264c5bd975110164fbd9ebc774f3380f0c5fac869a15f0b5774f5827ad976eada5b4c9c'
|
data/Gemfile.lock
CHANGED
data/lib/clever/client.rb
CHANGED
@@ -103,17 +103,27 @@ module Clever
|
|
103
103
|
admins.select { |record| record_uids_set.include?(record.uid) }
|
104
104
|
end
|
105
105
|
|
106
|
+
def schools
|
107
|
+
authenticate
|
108
|
+
|
109
|
+
Paginator.fetch(connection, Clever::SCHOOLS_ENDPOINT,
|
110
|
+
:get, Types::School, client: self).force
|
111
|
+
end
|
112
|
+
|
106
113
|
# discard params to make the API behave the same as the one roster gem
|
107
114
|
def classrooms(*)
|
108
115
|
authenticate
|
109
116
|
|
110
117
|
fetched_courses = courses
|
118
|
+
fetched_schools = schools
|
111
119
|
|
112
120
|
terms_hash = terms.each_with_object({}) { |term, terms| terms[term.uid] = term }
|
113
121
|
|
114
122
|
sections.map do |section|
|
115
123
|
course = fetched_courses.find { |clever_course| clever_course.uid == section.course }
|
116
124
|
term = terms_hash[section.term_id]
|
125
|
+
school = fetched_schools.find { |school| school.uid == section.school_uid }
|
126
|
+
|
117
127
|
Types::Classroom.new(
|
118
128
|
'id' => section.uid,
|
119
129
|
'name' => section.name,
|
@@ -123,7 +133,10 @@ module Clever
|
|
123
133
|
'subjects' => section.subjects,
|
124
134
|
'term_name' => term&.name,
|
125
135
|
'term_start_date' => term&.start_date,
|
126
|
-
'term_end_date' => term&.end_date
|
136
|
+
'term_end_date' => term&.end_date,
|
137
|
+
'term_id' => section.term_id,
|
138
|
+
'school_name' => school&.name,
|
139
|
+
'school_uid' => school&.uid
|
127
140
|
)
|
128
141
|
end
|
129
142
|
end
|
@@ -12,7 +12,10 @@ module Clever
|
|
12
12
|
:provider,
|
13
13
|
:term_name,
|
14
14
|
:term_start_date,
|
15
|
-
:term_end_date
|
15
|
+
:term_end_date,
|
16
|
+
:term_id,
|
17
|
+
:school_name,
|
18
|
+
:school_uid
|
16
19
|
|
17
20
|
def initialize(attributes = {}, *)
|
18
21
|
@uid = attributes['id']
|
@@ -24,6 +27,9 @@ module Clever
|
|
24
27
|
@term_name = attributes['term_name']
|
25
28
|
@term_start_date = attributes['term_start_date']
|
26
29
|
@term_end_date = attributes['term_end_date']
|
30
|
+
@term_id = attributes['term_id']
|
31
|
+
@school_name = attributes['school_name']
|
32
|
+
@school_uid = attributes['school_uid']
|
27
33
|
@provider = 'clever'
|
28
34
|
end
|
29
35
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Clever
|
4
|
+
module Types
|
5
|
+
class School
|
6
|
+
attr_reader :uid, :name, :number
|
7
|
+
|
8
|
+
def initialize(attributes = {}, *)
|
9
|
+
@uid = attributes['id']
|
10
|
+
@name = attributes['name']
|
11
|
+
@number = attributes['school_number']
|
12
|
+
@provider = 'clever'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/clever/types/section.rb
CHANGED
@@ -13,6 +13,7 @@ module Clever
|
|
13
13
|
:teachers,
|
14
14
|
:term_id,
|
15
15
|
:provider,
|
16
|
+
:school_uid,
|
16
17
|
:primary_teacher_uid
|
17
18
|
|
18
19
|
def initialize(attributes = {}, *)
|
@@ -24,9 +25,10 @@ module Clever
|
|
24
25
|
@subjects = [presence(attributes['subject'])].compact
|
25
26
|
@students = attributes['students']
|
26
27
|
@teachers = attributes['teachers']
|
27
|
-
@term_id =
|
28
|
-
@provider = 'clever'
|
28
|
+
@term_id = attributes['term_id']
|
29
29
|
@primary_teacher_uid = attributes['teacher']
|
30
|
+
@school_uid = attributes['school']
|
31
|
+
@provider = 'clever'
|
30
32
|
end
|
31
33
|
end
|
32
34
|
end
|
data/lib/clever/version.rb
CHANGED
data/lib/clever.rb
CHANGED
@@ -16,6 +16,7 @@ require 'clever/types/enrollment'
|
|
16
16
|
require 'clever/types/event'
|
17
17
|
require 'clever/types/student'
|
18
18
|
require 'clever/types/section'
|
19
|
+
require 'clever/types/school'
|
19
20
|
require 'clever/types/teacher'
|
20
21
|
require 'clever/types/district_admin'
|
21
22
|
require 'clever/types/school_admin'
|
@@ -36,6 +37,7 @@ module Clever
|
|
36
37
|
EVENTS_ENDPOINT = '/v1.2/events'
|
37
38
|
TERMS_ENDPOINT = '/v3.0/terms'
|
38
39
|
GRADES_ENDPOINT = 'https://grades-api.beta.clever.com/v1/grade'
|
40
|
+
SCHOOLS_ENDPOINT = '/v3.0/schools'
|
39
41
|
|
40
42
|
class DistrictNotFound < StandardError; end
|
41
43
|
class ConnectionError < StandardError; end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clever
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Julius
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -198,6 +198,7 @@ files:
|
|
198
198
|
- lib/clever/types/district_admin.rb
|
199
199
|
- lib/clever/types/enrollment.rb
|
200
200
|
- lib/clever/types/event.rb
|
201
|
+
- lib/clever/types/school.rb
|
201
202
|
- lib/clever/types/school_admin.rb
|
202
203
|
- lib/clever/types/section.rb
|
203
204
|
- lib/clever/types/student.rb
|