From cc8502f62be0c3f531f52bdd44f26d2601c6dd6c Mon Sep 17 00:00:00 2001 From: Anurag Priyam Date: Sun, 24 Jun 2012 12:50:33 +0530 Subject: [PATCH] add closed? method on Stream object to inspect the object's open/close state Signed-off-by: Anurag Priyam --- lib/sinatra/base.rb | 4 ++++ test/streaming_test.rb | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/lib/sinatra/base.rb b/lib/sinatra/base.rb index deab7993..0db7de26 100644 --- a/lib/sinatra/base.rb +++ b/lib/sinatra/base.rb @@ -332,6 +332,10 @@ module Sinatra end alias errback callback + + def closed? + @closed + end end # Allows to start sending data to the client even though later parts of diff --git a/test/streaming_test.rb b/test/streaming_test.rb index df2bf7d3..71dc8db6 100644 --- a/test/streaming_test.rb +++ b/test/streaming_test.rb @@ -139,4 +139,11 @@ class StreamingTest < Test::Unit::TestCase get '/' assert ran end + + it 'has a public interface to inspect its open/closed state' do + stream = Stream.new(Stream) { |out| out << :foo } + assert !stream.closed? + stream.close + assert stream.closed? + end end