plutora_rest 0.0.13 → 0.0.14

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: 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