diff options
-rw-r--r-- | spec/rate_limiter_spec.cr | 20 | ||||
-rw-r--r-- | src/twitch/irc/connection.cr | 4 |
2 files changed, 22 insertions, 2 deletions
diff --git a/spec/rate_limiter_spec.cr b/spec/rate_limiter_spec.cr new file mode 100644 index 0000000..345aa1a --- /dev/null +++ b/spec/rate_limiter_spec.cr @@ -0,0 +1,20 @@ +require "./spec_helper"
+
+describe RateLimiter do
+ describe "#rate_limited?" do
+ it "does the thing" do
+ limiter = RateLimiter(String).new
+ limiter.bucket(:foo, 5_u32, 1.seconds)
+ limiter.rate_limited?(:foo, "z64")
+ sleep 0.9
+ 3.times do
+ limiter.rate_limited?(:foo, "z64")
+ end
+ sleep 0.2
+ 3.times do
+ limiter.rate_limited?(:foo, "z64")
+ end
+ limiter.rate_limited?(:foo, "z64").should be_truthy
+ end
+ end
+end
\ No newline at end of file diff --git a/src/twitch/irc/connection.cr b/src/twitch/irc/connection.cr index daf6a05..b2647f7 100644 --- a/src/twitch/irc/connection.cr +++ b/src/twitch/irc/connection.cr @@ -38,8 +38,8 @@ class Twitch::IRC::Connection else socket.on_message do |message| reader = FastIRC::Reader.new(IO::Memory.new(message)) - while m = reader.next - @on_message.try &.call(m) + while msg = reader.next + @on_message.try &.call(msg) end end socket.run |