lib/throttle.rb in full_throttle-0.0.1 vs lib/throttle.rb in full_throttle-0.0.3
- old
+ new
@@ -10,19 +10,19 @@
attr_accessor :default_redis_client,
:default_timeout,
:default_ns,
:default_polling
- def for(key, max_per_second, opts = {}, &block)
+ def for(key, max_per_second = nil, opts = {}, &block)
polling = opts[:polling] || Throttle.default_polling
timeout = opts[:timeout] || Throttle.default_timeout
redis = opts[:redis] || Throttle.default_redis_client
namespace = opts[:ns] || Throttle.default_ns
strategy = RedisScript.new(redis, "#{namespace}:#{key}", max_per_second)
strategy.set_bucket_size!
instance = Instance.new(strategy, polling, timeout)
- instance.limit(&block)
+ block_given? ? instance.limit(&block) : instance
end
end
end