class TrustPilot::Token
Attributes
validity[R]
Public Class Methods
get()
click to toggle source
# File lib/trust_pilot/api/token.rb, line 19 def self.get Token.instance.get end
new()
click to toggle source
# File lib/trust_pilot/api/token.rb, line 15 def initialize @validity = 1.second.ago end
Public Instance Methods
get()
click to toggle source
# File lib/trust_pilot/api/token.rb, line 23 def get new_token unless validity >= Time.now @token || raise(NoTokenException) end
Private Instance Methods
check_default()
click to toggle source
# File lib/trust_pilot/api/token.rb, line 30 def check_default unless TrustPilot.username && TrustPilot.password && TrustPilot.key && TrustPilot.secret raise MissingDefault end end
do_call()
click to toggle source
# File lib/trust_pilot/api/token.rb, line 43 def do_call endpoint = '/accesstoken' params = { grant_type: 'password', username: TrustPilot.username, password: TrustPilot.password } headers = { 'Authorization' => "Basic #{encoded_key}", 'Content-Type' => 'application/x-www-form-urlencoded' } self.class.post(endpoint, {headers: headers, body: params}) end
encoded_key()
click to toggle source
# File lib/trust_pilot/api/token.rb, line 57 def encoded_key Base64.urlsafe_encode64("#{TrustPilot.key}:#{TrustPilot.secret}") end
new_token()
click to toggle source
# File lib/trust_pilot/api/token.rb, line 36 def new_token check_default response = do_call @token = response.parsed_response["access_token"] @validity = 5.minutes.from_now end