learnworlds 0.1.3 → 0.2.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.
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