# Gemfile gem 'rack-attack'
# config/application.rb module Template class Application < Rails::Application ... config.middleware.use Rack::Attack end end
# config/initializers/rack_attack.rb class Rack::Attack Rack::Attack.cache.store = ActiveSupport::Cache::MemoryStore.new throttle('api/ip', limit: 3, period: 10) do |req| req.ip if req.subdomain == 'api' end class Request < ::Rack::Request def subdomain host.split('.').first end end end