learnworlds 0.1.3 → 0.2.0

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
  SHA256:
3
- metadata.gz: cb7b97af5d7f11874865f675d8932b0ac841548d7c4fad5b097827ff2e80a43f
4
- data.tar.gz: 13c3ec3e9c4811d1aa61895af37fdfef2c86d805061027ec8ddaa25604c4161e
3
+ metadata.gz: bc096fa0ea3dfb07f2c9449360cb7053702bc3b85858464915b8acd644fb16e1
4
+ data.tar.gz: 192238d15c821879e34516748b82fa76dc03cb276b40a91ab98abc49e647cff5
5
5
  SHA512:
6
- metadata.gz: 186dbe3be59265ae0c85c5dc91760f2b2017be38762f3def8c49938dcd24e1a8a23c92b234844a0bddbe44b60e4cd137b78d0053b267cd3c3ead5e8915665fae
7
- data.tar.gz: 0617e02d710e75e1eb2a1d6bbe8438daf18f919fdddc1d721e18f6b60a43ede6ba2a239141bc44059dc43528633a1f7827d76e1860473f078ed2dcff55773664
6
+ metadata.gz: f607da52aa8f1f5c5bb29993770ec61f3f8abcd7b1518508a58354999d0a8e74f3189624403855a715584a07aec0254dedb28e31bfb0982f24fef6d6d68856ec
7
+ data.tar.gz: 6b090dabfab1cd717a7c6f6dfbbc292ef627480f30027b365fc39cbedac9d3df864ebc74e68a4cc4ba149effec228e331cb0156b1cff4a968f674d2cb3668bc9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.2.0] - 2022-07-11
4
+
5
+ - Adds single sign on fucntionality
6
+ - Default client secret to nil if not passed and not on env vars
7
+
3
8
  ## [0.1.3] - 2022-07-08
4
9
 
5
10
  - Rename User to UserObject in order to avoid conflicts (breaking change)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- learnworlds (0.1.3)
4
+ learnworlds (0.2.0)
5
5
  faraday (~> 2.3)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -84,6 +84,14 @@ client.user.find(user_id: 'user_id')
84
84
  client.user.enroll(user_id: 'user_id', product_id: 'course_id', product_type: 'course', price: 0)
85
85
  ```
86
86
 
87
+ ### SSO Resource
88
+
89
+ ```ruby
90
+
91
+ client.sso.redirect(email: 'test@test.com', redirect_to 'xyz.learnworlds.com/courses')
92
+
93
+ ```
94
+
87
95
 
88
96
  ## Development
89
97
 
@@ -10,7 +10,7 @@ module LearnWorlds
10
10
 
11
11
  def initialize(client_id: nil, client_secret: nil, base_url: nil, access_token: nil)
12
12
  @client_id = client_id || ENV.fetch('LEARN_WORLDS_CLIENT_ID')
13
- @client_secret = client_secret || ENV.fetch('LEARN_WORLDS_CLIENT_SECRET')
13
+ @client_secret = client_secret || ENV.fetch('LEARN_WORLDS_CLIENT_SECRET', nil)
14
14
  @base_url = base_url || ENV.fetch('LEARN_WORLDS_BASE_URL')
15
15
  @access_token = access_token
16
16
  end
@@ -23,6 +23,10 @@ module LearnWorlds
23
23
  AuthenticationResource.new(self)
24
24
  end
25
25
 
26
+ def sso
27
+ SingleSignOnResource.new(self)
28
+ end
29
+
26
30
  def connection
27
31
  @connection ||= Faraday.new(base_url) do |conn|
28
32
  conn.request :json
@@ -0,0 +1,9 @@
1
+ module LearnWorlds
2
+ class SingleSignOnResource < Resource
3
+ SSO_ENDPOINT = "/admin/api/sso".freeze
4
+
5
+ def redirect(email:, redirect_to:)
6
+ post_request(SSO_ENDPOINT, { email: email, redirectUrl: redirect_to }).body['url']
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LearnWorlds
4
- VERSION = "0.1.3"
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/learn_worlds.rb CHANGED
@@ -12,8 +12,9 @@ module LearnWorlds
12
12
  autoload :UserObject, "learn_worlds/objects/user_object"
13
13
 
14
14
  autoload :Resource, "learn_worlds/resource"
15
- autoload :UserResource, "learn_worlds/resources/user_resource"
16
15
  autoload :AuthenticationResource, "learn_worlds/resources/authentication_resource"
16
+ autoload :SingleSignOnResource, "learn_worlds/resources/single_sign_on_resource"
17
+ autoload :UserResource, "learn_worlds/resources/user_resource"
17
18
 
18
19
  class << self
19
20
  # Instantiate the Configuration singleton
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: learnworlds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nuno Correia
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-08 00:00:00.000000000 Z
11
+ date: 2022-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -49,6 +49,7 @@ files:
49
49
  - lib/learn_worlds/objects/user_object.rb
50
50
  - lib/learn_worlds/resource.rb
51
51
  - lib/learn_worlds/resources/authentication_resource.rb
52
+ - lib/learn_worlds/resources/single_sign_on_resource.rb
52
53
  - lib/learn_worlds/resources/user_resource.rb
53
54
  - lib/learn_worlds/version.rb
54
55
  - sig/learnworlds.rbs