Class: Oauth2Rails::Client
Direct Known Subclasses
Instance Method Summary collapse
- #api_call(destination) ⇒ Object
-
#initialize(user, options = {}) ⇒ Client
constructor
A new instance of Client.
- #refresh ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(user, options = {}) ⇒ Client
Returns a new instance of Client.
7 8 9 10 |
# File 'lib/oauth2_rails/client.rb', line 7 def initialize(user, = {}) super() @user = user end |
Instance Method Details
#api_call(destination) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/oauth2_rails/client.rb', line 12 def api_call(destination) begin call(:get, destination, user: @user.access_token) rescue Oauth2Rails::Errors::Unauthorized refresh call(:get, destination, user: @user.access_token) end end |
#refresh ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/oauth2_rails/client.rb', line 21 def refresh response = call(:post, "#{@token_path}?grant_type=refresh_token&refresh_token=#{@user.refresh_token}") @user.update!( access_token: response.access_token, refresh_token: response.refresh_token, expiry: Time.now + response.expires_every ) end |