Exception: PhraseApp::RequestErrors::RateLimitingError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/phraseapp-ruby/request_handler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resp) ⇒ RateLimitingError

Returns a new instance of RateLimitingError.



47
48
49
50
51
# File 'lib/phraseapp-ruby/request_handler.rb', line 47

def initialize(resp)
  @limit = resp["X-Rate-Limit-Limit"].to_i
  @remaining = resp["X-Rate-Limit-Remaining"].to_i
  @reset = Time.at(resp["X-Rate-Limit-Reset"].to_i)
end

Instance Attribute Details

#limitObject (readonly)

Returns the value of attribute limit.



45
46
47
# File 'lib/phraseapp-ruby/request_handler.rb', line 45

def limit
  @limit
end

#remainingObject (readonly)

Returns the value of attribute remaining.



45
46
47
# File 'lib/phraseapp-ruby/request_handler.rb', line 45

def remaining
  @remaining
end

#resetObject (readonly)

Returns the value of attribute reset.



45
46
47
# File 'lib/phraseapp-ruby/request_handler.rb', line 45

def reset
  @reset
end

Instance Method Details

#to_sObject



53
54
55
# File 'lib/phraseapp-ruby/request_handler.rb', line 53

def to_s
  sprintf("Rate limit exceeded: from %d requests %d are remaining (reset in %d seconds)", limit, remaining, reset)
end