diff --git a/compat/compat_test.rb b/compat/compat_test.rb new file mode 100644 index 00000000..00978197 --- /dev/null +++ b/compat/compat_test.rb @@ -0,0 +1,12 @@ +require File.dirname(__FILE__) + '/helper' + +context "Compat" do + setup do + Sinatra.application = nil + @app = Sinatra.application + end + + specify "makes EventContext available" do + assert_same Sinatra::Default, Sinatra::EventContext + end +end diff --git a/lib/sinatra/compat.rb b/lib/sinatra/compat.rb index c1b564bb..24b8bf24 100644 --- a/lib/sinatra/compat.rb +++ b/lib/sinatra/compat.rb @@ -51,6 +51,17 @@ module Sinatra module Compat end + # Make Sinatra::EventContext an alias for Sinatra::Default to unbreak plugins. + def self.const_missing(const_name) + if const_name == :EventContext + const_set :EventContext, Sinatra::Default + sinatra_warn 'Sinatra::EventContext is deprecated; use Sinatra::Default instead.' + Sinatra::Default + else + super + end + end + # The ServerError exception is deprecated. Any exception is considered an # internal server error. class ServerError < RuntimeError