Sha256: e852591dc7f619af93fdbef3cd59700d4c5d14e21c4bd634460725d5a7da75a2

Contents?: true

Size: 954 Bytes

Versions: 8

Compression:

Stored size: 954 Bytes

Contents

# frozen_string_literal: true

module Yext
  module Api
    module Concerns
      # This module adds attributes to a module for saving and setting the rate limits returned
      # from the Yext API.
      module RateLimits
        attr_reader :rate_limit_remaining,
                    :rate_limit_limit,
                    :rate_limit_reset_at,
                    :last_status,
                    :last_meta,
                    :last_data

        private

        def last_data=(last_data)
          @last_data = last_data
        end

        def last_status=(last_status)
          @last_status = last_status
        end

        def last_meta=(last_meta)
          @last_meta = last_meta
        end

        def update_rates(remaining: 1_000, limit: 1_000, reset_at: Time.now)
          @rate_limit_limit     = limit
          @rate_limit_remaining = remaining
          @rate_limit_reset_at  = reset_at
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
yext-api-0.1.11 lib/yext/api/concerns/rate_limits.rb
yext-api-0.1.10 lib/yext/api/concerns/rate_limits.rb
yext-api-0.1.9 lib/yext/api/concerns/rate_limits.rb
yext-api-0.1.8 lib/yext/api/concerns/rate_limits.rb
yext-api-0.1.7 lib/yext/api/concerns/rate_limits.rb
yext-api-0.1.5 lib/yext/api/concerns/rate_limits.rb
yext-api-0.1.4 lib/yext/api/concerns/rate_limits.rb
yext-api-0.1.3 lib/yext/api/concerns/rate_limits.rb