clever 3.2.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5b544d8d4b80be8cd0b754f657c7ccfbeec9f2a4
4
- data.tar.gz: 19e063bfda75ad232871c9564958d403b8f41e83
3
+ metadata.gz: 63979f4986db64df6612124fd9ab0974cb198bab
4
+ data.tar.gz: 9304f5516f09faeaaaa7c107f6c531f42164ee4b
5
5
  SHA512:
6
- metadata.gz: 0754506c3b777034448ccbbc520eeb2ccaaca7501ffc239635662a24777a274aa62fe93d174c84f71adeafaaa6adc113e3fdd826b5aab50d2d2e195d83e66935
7
- data.tar.gz: ca941ccd1a012dfa5727ba6535b755db11672a74a804764953a6007233f150b3fe4bae876c2f9022e843d13ee85aa07ce9d1c874ab65a7539849ee67eadbe881
6
+ metadata.gz: 866dd8a3c35e4a950cce8f2d5de0e854ae1890b60ae8a05d4f2b6189c37aaa0eaf8b5d5b5e217f9ae2c47b9358cd429ae1460c6b1ceef34ecd421d97c646fb77
7
+ data.tar.gz: 66156debf6f11613064e09645aca230d61611f98f140abf15b6b0aa324b7756b94a6d0f329a96e4d4c25b671018eac25e0910ac28bbef1ac4010a013d0216e4b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clever (3.2.1)
4
+ clever (3.2.2)
5
5
  faraday
6
6
  faraday_middleware
7
7
 
data/lib/clever.rb CHANGED
@@ -24,6 +24,8 @@ require 'clever/types/token'
24
24
 
25
25
  module Clever
26
26
  API_URL = 'https://api.clever.com/v3.0'
27
+ ME_ENDPOINT = '/v3.0/me'
28
+ USER_TOKEN_ENDPOINT = 'https://clever.com/oauth/tokens'
27
29
  TOKENS_ENDPOINT = 'https://clever.com/oauth/tokens?owner_type=district'
28
30
  STUDENTS_ENDPOINT = '/v3.0/users?role=student'
29
31
  COURSES_ENDPOINT = '/v3.0/courses'
data/lib/clever/client.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Clever
4
4
  class Client
5
- attr_accessor :app_id, :app_token, :sync_id, :logger,
5
+ attr_accessor :app_id, :app_token, :sync_id, :logger, :redirect_uri,
6
6
  :vendor_key, :vendor_secret, :username_source, :staff_username_source
7
7
 
8
8
  attr_reader :api_url, :tokens_endpoint
@@ -38,6 +38,22 @@ module Clever
38
38
  response
39
39
  end
40
40
 
41
+ def user_uid_for_code(code)
42
+ response = connection.execute(USER_TOKEN_ENDPOINT,
43
+ :post,
44
+ nil,
45
+ { code: code,
46
+ grant_type: 'authorization_code',
47
+ redirect_uri: redirect_uri })
48
+
49
+ fail ConnectionError, response.raw_body unless response.success?
50
+
51
+ connection.set_token(response.raw_body['access_token'])
52
+
53
+ response = connection.execute(ME_ENDPOINT, :get)
54
+ response&.body&.dig('id')
55
+ end
56
+
41
57
  def most_recent_event
42
58
  authenticate
43
59
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Clever
4
- VERSION = '3.2.1'
4
+ VERSION = '3.2.2'
5
5
  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.1
4
+ version: 3.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Julius
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-10 00:00:00.000000000 Z
11
+ date: 2021-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday