GitHub imposes a rate limit on API requests, and encourages developers to use conditional requests. Here is how to do that using Peter's popular github api gem.
Method A - Faraday HTTP Cache w. ActiveSupport::Cache
This uses the faraday-http-cache gem, which takes care of expiration, etags, and response statuses.