plutora_rest 0.0.13 → 0.0.14

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
  SHA1:
3
- metadata.gz: d6218e26188e606f7bd9894d4b31dc8b834c328f
4
- data.tar.gz: f89fc6d43aa4623ad66acff40614c335683c8bb9
3
+ metadata.gz: af752f0cf2bd2acbb29fe2d25cd4f371d1e1a3cd
4
+ data.tar.gz: 8cd2ca23af496bdf34df752294e1780590098c3c
5
5
  SHA512:
6
- metadata.gz: 2a03a6cdd26306b4a90d06b631473502d532db23ae5cce74791167386bc4b5f2f267cddada6bd03e72affa530aab2f881ba36b27545d4bcaf41b9309136c60f5
7
- data.tar.gz: 06b13403ca1d5f7bffafaaf45a8c6345ad862987172d90c5c03fbd06ac13d554487b321c41dc894cb5bf74dda31dc4d98e58e74645884fcc05db64a06208433a
6
+ metadata.gz: caaa89f0b62e0a8519df19adbde0357e97c743ccea1be5cbc1013fec05617fc3a83ff8768e4756348765f4bc5668e9e919367dfe2722c50eef634e478ee6e5e0
7
+ data.tar.gz: 929de371644b8692a47c7faf6da118a92865bccfa3f2d69c8b9cab1d1b1765982f6b20504d70d41042ddc13c9b07423d7b5c858b2bfbac6aeef87c3e9fecbf07
@@ -34,10 +34,51 @@ module PlutoraRest
34
34
 
35
35
  rConnect=plutora_post({:url => oauth_url, :params => params, :headers => headers})
36
36
  rConnect=JSON.parse(rConnect)
37
+
37
38
  @token=rConnect['access_token']
39
+ @expires_in=rConnect['expires_in']
40
+ @expiresAt=DateTime.now + @expires_in.to_i.seconds
41
+ @refresh_token=rConnect['refresh_token']
42
+
43
+ @oauthURL=oauth_url
44
+ @clientID=opts[:client_id]
45
+ @clientSecret=opts[:client_secret]
46
+
38
47
  return @token
39
48
  end
40
49
 
50
+ #---- Refresh Token If Expired ----
51
+ def refresh_token_if_expired
52
+ if token_expired?
53
+ param={'grant_type' => 'refresh_token',
54
+ 'refresh_token' => @refresh_token,
55
+ 'client_id' => @clientID,
56
+ 'client_secret' => @clientSecret
57
+ }
58
+
59
+ headers = {'Accept' => 'application/json',
60
+ 'Content-Type' => 'application/x-www-form-urlencoded'
61
+ }
62
+
63
+ refreshConnect=plutora_post({:url => @oauthURL, :params => params, :headers =>})
64
+ refreshConnect=JSON.parse(refreshConnect)
65
+
66
+ @token=refreshConnect['access_token']
67
+ @expires_in=refreshConnect['expires_in']
68
+ @expiresAt=DateTime.now + @expires_in.to_i.seconds
69
+ @refresh_token=refreshConnect['refresh_token']
70
+
71
+ return @token
72
+ end
73
+ end
74
+
75
+ #---- Token Expired? ----
76
+ def token_expired?
77
+ expiry=Time.at(@expiresAt)
78
+ return true if expiry < Time.now
79
+ false
80
+ end
81
+
41
82
  #---- POST REST Call ----
42
83
  def plutora_post(opts)
43
84
  resp=RestClient.post(opts[:url], opts[:params], opts[:headers])
@@ -1,3 +1,3 @@
1
1
  module PlutoraRest
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.14"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plutora_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - ProjectYeti
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-04-16 00:00:00.000000000 Z
12
+ date: 2016-03-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler