diff --git a/lib/rack/attack.rb b/lib/rack/attack.rb index f6ab929..26b6725 100644 --- a/lib/rack/attack.rb +++ b/lib/rack/attack.rb @@ -58,7 +58,7 @@ class Rack::Attack end def throttle(name, options, &block) - throttles[name] = Throttle.new(name, options, block) + throttles[name] = Throttle.new(name, options, &block) end def track(name, options = {}, &block) diff --git a/lib/rack/attack/throttle.rb b/lib/rack/attack/throttle.rb index 2f6f421..4d5316a 100644 --- a/lib/rack/attack/throttle.rb +++ b/lib/rack/attack/throttle.rb @@ -6,7 +6,7 @@ module Rack MANDATORY_OPTIONS = [:limit, :period].freeze attr_reader :name, :limit, :period, :block, :type - def initialize(name, options, block) + def initialize(name, options, &block) @name, @block = name, block MANDATORY_OPTIONS.each do |opt| raise ArgumentError, "Must pass #{opt.inspect} option" unless options[opt] diff --git a/lib/rack/attack/track.rb b/lib/rack/attack/track.rb index 9e7ff2e..dc7afb8 100644 --- a/lib/rack/attack/track.rb +++ b/lib/rack/attack/track.rb @@ -9,7 +9,7 @@ module Rack options[:type] = :track if options[:limit] && options[:period] - @filter = Throttle.new(name, options, block) + @filter = Throttle.new(name, options, &block) else @filter = Check.new(name, options, &block) end