module EsiCharacterApi
Public Instance Methods
api_client()
click to toggle source
# File lib/generators/rails_eve/install/templates/esi_character_api.rb, line 48 def api_client client = ESI::ApiClient.new client.config.access_token = current_access_token client end
current_access_token()
click to toggle source
# File lib/generators/rails_eve/install/templates/esi_character_api.rb, line 35 def current_access_token refresh_token! access_token end
refresh_token!()
click to toggle source
# File lib/generators/rails_eve/install/templates/esi_character_api.rb, line 13 def refresh_token! return false if Time.zone.now < token_expires self.access_token = refresh_token_request.access_token self.refresh_token = refresh_token_request.refresh_token self.token_expires = Time.zone.now + refresh_token_request.expires_in save end
refresh_token_body()
click to toggle source
# File lib/generators/rails_eve/install/templates/esi_character_api.rb, line 31 def refresh_token_body { grant_type: 'refresh_token', refresh_token: refresh_token }.to_json end
refresh_token_headers()
click to toggle source
# File lib/generators/rails_eve/install/templates/esi_character_api.rb, line 27 def refresh_token_headers { 'Content-Type' => 'application/json', 'Authorization' => authorization_header } end
refresh_token_request()
click to toggle source
# File lib/generators/rails_eve/install/templates/esi_character_api.rb, line 22 def refresh_token_request request = Typhoeus.post('https://login.eveonline.com/oauth/token', headers: refresh_token_headers, body: refresh_token_body) OpenStruct.new(JSON.parse(request.body)) end
update_tokens(credentials)
click to toggle source
# File lib/generators/rails_eve/install/templates/esi_character_api.rb, line 6 def update_tokens(credentials) self.access_token = credentials['token'] self.refresh_token = credentials['refresh_token'] self.token_expires = Time.zone.at credentials['expires_at'] save end
wallet_api()
click to toggle source
# File lib/generators/rails_eve/install/templates/esi_character_api.rb, line 54 def wallet_api ESI::WalletApi.new(api_client) end