Sha256: bec6a2d83758c8cb0e89c54fe8bfa9f6f87de45bacd6124564ae4405004b35a6

Contents?: true

Size: 1.47 KB

Versions: 11

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

module PaypalAPI
  #
  # AccessToken object stores authorization string and its expire time.
  #
  # @api private
  #
  class AccessToken
    # Time when access token request was sent
    # @return [Time] Time
    attr_reader :requested_at

    # Time when access token request expires
    # @return [Time] Time
    attr_reader :expires_at

    # Authorization string
    # @return [String] Authorization string
    attr_reader :authorization_string

    #
    # Initializes AccessToken object
    #
    # @param requested_at [Time] Time when token was requested
    # @param expires_in [Integer] Count of seconds until token expires
    # @param access_token [String] Aceess token string generated by PayPal
    # @param token_type [String] Aceess token type, which is constantly `Bearer`
    #
    # @return [AccessToken] Generated AccessToken object
    #
    def initialize(requested_at:, expires_in:, access_token:, token_type:)
      @requested_at = requested_at
      @expires_at = requested_at + expires_in
      @authorization_string = "#{token_type} #{access_token}"
      freeze
    end

    #
    # Shows if current AccessToken was expired
    #
    def expired?
      Time.now >= expires_at
    end

    #
    # Instance representation string
    #
    # @return [String] Inspect value
    #
    def inspect
      "#<#{self.class.name} methods: (requested_at, expires_at, expired?, authorization_string)>"
    end

    alias_method :to_s, :inspect
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
paypal-rest-api-0.6.0 lib/paypal-api/access_token.rb
paypal-rest-api-0.5.1 lib/paypal-api/access_token.rb
paypal-rest-api-0.5.0 lib/paypal-api/access_token.rb
paypal-rest-api-0.4.0 lib/paypal-api/access_token.rb
paypal-rest-api-0.3.1 lib/paypal-api/access_token.rb
paypal-rest-api-0.3.0 lib/paypal-api/access_token.rb
paypal-rest-api-0.2.1 lib/paypal-api/access_token.rb
paypal-rest-api-0.2.0 lib/paypal-api/access_token.rb
paypal-rest-api-0.1.1 lib/paypal-api/access_token.rb
paypal-rest-api-0.1.0 lib/paypal-api/access_token.rb
paypal-rest-api-0.0.4 lib/paypal-api/access_token.rb