# 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