Method: OAuth2::AccessToken#initialize

Defined in:
lib/oauth2/access_token.rb

#initialize(client, token, opts = {}) ⇒ AccessToken

Initalize an AccessToken

Parameters:

  • client (Client)

    the OAuth2::Client instance

  • token (String)

    the Access Token value

  • opts (Hash) (defaults to: {})

    the options to create the Access Token with

Options Hash (opts):

  • :refresh_token (String) — default: nil

    the refresh_token value

  • :expires_in (FixNum, String) — default: nil

    the number of seconds in which the AccessToken will expire

  • :expires_at (FixNum, String) — default: nil

    the epoch time in seconds in which AccessToken will expire

  • :mode (Symbol) — default: :header

    the transmission mode of the Access Token parameter value one of :header, :body or :query

  • :header_format (String) — default: 'Bearer %s'

    the string format to use for the Authorization header

  • :param_name (String) — default: 'bearer_token'

    the parameter name to use for transmission of the Access Token value in :body or :query transmission mode



39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/oauth2/access_token.rb', line 39

def initialize(client, token, opts={})
  @client = client
  @token = token.to_s
  [:refresh_token, :expires_in, :expires_at].each do |arg|
    instance_variable_set("@#{arg}", opts.delete(arg) || opts.delete(arg.to_s))
  end
  @expires_in ||= opts.delete('expires')
  @expires_in &&= @expires_in.to_i
  @expires_at ||= Time.now.to_i + @expires_in if @expires_in
  @options = {:mode          => opts.delete(:mode) || :header,
              :header_format => opts.delete(:header_format) || 'Bearer %s',
              :param_name    => opts.delete(:param_name) || 'bearer_token'}
  @params = opts
end