Sha256: eefc0137fdee188a83f42751d31f6243ae21543c589a1137d51605e418e1da76

Contents?: true

Size: 505 Bytes

Versions: 1

Compression:

Stored size: 505 Bytes

Contents

# frozen_string_literal: true

module Azure
  module TTS
    class Token
      attr_reader :token, :obtained_at

      def refresh
        return unless needs_refreshing?

        response = Azure::TTS.api.tokens.post
        raise RequestError, response unless response.success?

        @token = response.body
        @obtained_at = Time.now.to_i
      end

      def needs_refreshing?
        (Time.now.to_i - obtained_at.to_i) > 600
      end

      def to_s
        token
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
azure-tts-1.0.0 lib/azure/tts/token.rb