https://github.com/sirius248/nimble_throttler
Simple throttler that base on the IP address
https://github.com/sirius248/nimble_throttler
rack ruby rubyonrails
Last synced: 4 months ago
JSON representation
Simple throttler that base on the IP address
- Host: GitHub
- URL: https://github.com/sirius248/nimble_throttler
- Owner: sirius248
- License: mit
- Created: 2017-09-10T04:29:00.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-10T04:44:52.000Z (almost 9 years ago)
- Last Synced: 2025-11-11T18:41:30.555Z (7 months ago)
- Topics: rack, ruby, rubyonrails
- Language: Ruby
- Homepage:
- Size: 7.81 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# NimbleThrottler
[](https://codeclimate.com/github/kimquy/nimble_throttler)
[](https://travis-ci.org/kimquy/nimble_throttler)
NimbleThrottler is very simple ruby gem which allow throttling an certain endpoints.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'nimble_throttler'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install nimble_throttler
## Usage
Add the following code into `application.rb` of your Rails app.
```ruby
require "nimble_throttler"
module YourRailsApp
class Application < Rails::Application
config.middleware.use Rack::NimbleThrottling
end
end
```
Now you're ready to throttle the endpoints by adding this file `nimble_throttling.rb` into `initializers` folder. Example:
```ruby
NimbleThrottler.configure do
throttle '/testing', limit: 5, period: 1.hours
throttle '/awesome', limit: 100, period: 2.hours
throttle '/home/page', limit: 100, period: 3.hours
end
```
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/kimquy/nimble_throttler. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).