playlyfe 0.7.2 → 0.8.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 (3) hide show
  1. data/lib/playlyfe.rb +10 -0
  2. data/test/test.rb +9 -0
  3. metadata +18 -2
@@ -1,6 +1,7 @@
1
1
  require 'uri'
2
2
  require 'json'
3
3
  require 'rest_client'
4
+ require 'jwt'
4
5
 
5
6
  class PlaylyfeError < StandardError
6
7
  attr_accessor :name, :message
@@ -21,6 +22,15 @@ end
21
22
  class Playlyfe
22
23
  attr_reader :sdk_version
23
24
 
25
+ def self.createJWT(options)
26
+ options[:scopes] ||= []
27
+ options[:expires] ||= 3600
28
+ expires = Time.now.to_i + options[:expires]
29
+ token = JWT.encode({:player_id => options[:player_id], :scopes => options[:scopes], :exp => expires}, options[:client_secret], 'HS256')
30
+ token = "#{options[:client_id]}:#{token}"
31
+ return token
32
+ end
33
+
24
34
  def initialize(options = {})
25
35
  if options[:type].nil?
26
36
  err = PlaylyfeError.new("")
@@ -237,4 +237,13 @@ class PlaylyfeTest < Test::Unit::TestCase
237
237
  redirect_uri: 'https://playlyfe.com/v1/api'
238
238
  )
239
239
  end
240
+
241
+ def test_jwt
242
+ token = Playlyfe.createJWT(
243
+ client_id: "MWYwZGYzNTYtZGIxNy00OGM5LWExZGMtZjBjYTFiN2QxMTlh",
244
+ client_secret: "NmM2YTcxOGYtNGE2ZC00ZDdhLTkyODQtYTIwZTE4ZDc5YWNjNWFiNzBiYjAtZmZiMC0xMWU0LTg5YzctYzc5NWNiNzA1Y2E4",
245
+ player_id: 'student1'
246
+ )
247
+ puts token
248
+ end
240
249
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playlyfe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-16 00:00:00.000000000 Z
12
+ date: 2015-05-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest_client
@@ -43,6 +43,22 @@ dependencies:
43
43
  - - '='
44
44
  - !ruby/object:Gem::Version
45
45
  version: 1.8.2
46
+ - !ruby/object:Gem::Dependency
47
+ name: jwt
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.0
46
62
  - !ruby/object:Gem::Dependency
47
63
  name: rake
48
64
  requirement: !ruby/object:Gem::Requirement