diff --git a/Rakefile b/Rakefile index da16fec..6d234f6 100755 --- a/Rakefile +++ b/Rakefile @@ -10,7 +10,7 @@ Hoe.spec 'async_sinatra' do extra_deps << %w[rack >=2.0.0] extra_deps << %w[sinatra >=1.4.8] - extra_dev_deps << %w(rack-test) + extra_dev_deps << %w(rack-test >=2.0.0) extra_dev_deps << %w(hoe-doofus >=1.0) extra_dev_deps << %w(hoe-seattlerb >=1.2) extra_dev_deps << %w(hoe-git >=1.3) diff --git a/async_sinatra.gemspec b/async_sinatra.gemspec index 8a4fd36..1967a96 100644 --- a/async_sinatra.gemspec +++ b/async_sinatra.gemspec @@ -3,12 +3,13 @@ Gem::Specification.new do |s| s.name = "async_sinatra".freeze - s.version = "1.3.0" + s.version = "1.3.0".freeze s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= + s.metadata = { "homepage_uri" => "http://github.com/raggi/async_sinatra" } if s.respond_to? :metadata= s.require_paths = ["lib".freeze] s.authors = ["raggi".freeze] - s.date = "2017-05-23" + s.date = "2025-09-04" s.description = "A Sinatra plugin to provide convenience whilst performing asynchronous\nresponses inside of the Sinatra framework running under async webservers.\n\nTo properly utilise this package, some knowledge of EventMachine and/or\nasynchronous patterns is recommended.\n\nCurrently, supporting servers include:\n\n* Thin\n* Rainbows\n* Zbatery".freeze s.email = ["jftucker@gmail.com".freeze] s.extra_rdoc_files = ["CHANGELOG.rdoc".freeze, "Manifest.txt".freeze, "README.rdoc".freeze, "CHANGELOG.rdoc".freeze, "README.rdoc".freeze] @@ -16,48 +17,20 @@ Gem::Specification.new do |s| s.homepage = "http://github.com/raggi/async_sinatra".freeze s.licenses = ["MIT".freeze] s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] - s.rubygems_version = "2.6.11".freeze + s.rubygems_version = "3.5.11".freeze s.summary = "A Sinatra plugin to provide convenience whilst performing asynchronous responses inside of the Sinatra framework running under async webservers".freeze - if s.respond_to? :specification_version then - s.specification_version = 4 + s.specification_version = 4 - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 2.0.0"]) - s.add_runtime_dependency(%q.freeze, [">= 1.4.8"]) - s.add_development_dependency(%q.freeze, ["~> 5.10"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 1.0"]) - s.add_development_dependency(%q.freeze, [">= 1.2"]) - s.add_development_dependency(%q.freeze, [">= 1.3"]) - s.add_development_dependency(%q.freeze, [">= 1.0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0.12.11"]) - s.add_development_dependency(%q.freeze, ["~> 3.16"]) - else - s.add_dependency(%q.freeze, [">= 2.0.0"]) - s.add_dependency(%q.freeze, [">= 1.4.8"]) - s.add_dependency(%q.freeze, ["~> 5.10"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 1.0"]) - s.add_dependency(%q.freeze, [">= 1.2"]) - s.add_dependency(%q.freeze, [">= 1.3"]) - s.add_dependency(%q.freeze, [">= 1.0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0.12.11"]) - s.add_dependency(%q.freeze, ["~> 3.16"]) - end - else - s.add_dependency(%q.freeze, [">= 2.0.0"]) - s.add_dependency(%q.freeze, [">= 1.4.8"]) - s.add_dependency(%q.freeze, ["~> 5.10"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 1.0"]) - s.add_dependency(%q.freeze, [">= 1.2"]) - s.add_dependency(%q.freeze, [">= 1.3"]) - s.add_dependency(%q.freeze, [">= 1.0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0.12.11"]) - s.add_dependency(%q.freeze, ["~> 3.16"]) - end + s.add_runtime_dependency(%q.freeze, [">= 2.0.0".freeze]) + s.add_runtime_dependency(%q.freeze, [">= 1.4.8".freeze]) + s.add_development_dependency(%q.freeze, ["~> 5.25".freeze]) + s.add_development_dependency(%q.freeze, [">= 2.0.0".freeze]) + s.add_development_dependency(%q.freeze, [">= 1.0".freeze]) + s.add_development_dependency(%q.freeze, [">= 1.2".freeze]) + s.add_development_dependency(%q.freeze, [">= 1.3".freeze]) + s.add_development_dependency(%q.freeze, [">= 1.0".freeze]) + s.add_development_dependency(%q.freeze, [">= 0".freeze]) + s.add_development_dependency(%q.freeze, [">= 0.12.11".freeze]) + s.add_development_dependency(%q.freeze, ["~> 3.26".freeze]) end diff --git a/lib/sinatra/async/test.rb b/lib/sinatra/async/test.rb index 024bf28..816316e 100644 --- a/lib/sinatra/async/test.rb +++ b/lib/sinatra/async/test.rb @@ -9,7 +9,7 @@ def async? class Sinatra::Async::Test - class AsyncSession < Rack::MockSession + class AsyncSession < Rack::Test::Session class AsyncCloser def initialize @callbacks, @errbacks = [], [] @@ -30,7 +30,7 @@ def succeed end end - def request(uri, env) + def process_request(uri, env) env['async.callback'] = lambda { |r| s,h,b = *r; handle_last_response(uri, env, s,h,b) } env['async.close'] = AsyncCloser.new catch(:async) { super } @@ -58,7 +58,7 @@ module Methods %w(get put post delete head options patch).each do |m| eval <<-RUBY, binding, __FILE__, __LINE__ + 1 def a#{m}(*args) - rack_mock_session.reset_last_response + current_session.reset_last_response #{m}(*args) assert_async async_continue diff --git a/test/test_async.rb b/test/test_async.rb index 6f0023c..a4fc7e4 100644 --- a/test/test_async.rb +++ b/test/test_async.rb @@ -1,4 +1,5 @@ require 'minitest/autorun' +require 'minitest/unit' require 'eventmachine' @@ -25,7 +26,7 @@ def call(env) end end -class TestSinatraAsync < MiniTest::Unit::TestCase +class TestSinatraAsync < MiniTest::Test include Sinatra::Async::Test::Methods class TestApp < Sinatra::Base