Skip to content

Conversation

@diaclavijo
Copy link

Why?

This would allow a user of the API to rescue for example in an ApplicationJob and retry when the time has passed, rather than sleeping.

def perform
  req.execute(uri, token: 'test-token')
rescue Intercom::RateLimitExceeded => e
  self.class.perform_at(e.rate_limit_details[:reset_at])
end

How?

  • Adds attr_accessor to RateLimitExceeded on errors.rb
  • Intercom::Request#execute rescue block injects the @rate_limit_details before raising the exception

- Why?
This would allow a user of the API to rescue for example in an ApplicationJob and retry when the time has passed, rather than sleeping.

```
def perform
  req.execute(uri, token: 'test-token')
rescue Intercom::RateLimitExceeded => e
  self.class.perform_at(e.rate_limit_details[:reset_at])
end
```

- How?

* Adds attr_accessor to RateLimitExceeded on errors.rb
* Intercom::Request#execute rescue block injects the  @rate_limit_details before raising the exception
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant