diff options
author | Tadashi Saito <tadashi_saito@dwango.co.jp> | 2015-03-27 19:44:18 +0900 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2015-06-11 19:36:29 -0700 |
commit | b83c497b38dd6a54d6f79e978f4b38253f11d3e1 (patch) | |
tree | 1ce3cdcf894a42c809b8c802f3e480b2f172a966 | |
parent | 9971732ed0435cfb9924590031593e0a9eea1b70 (diff) | |
download | rack-b83c497b38dd6a54d6f79e978f4b38253f11d3e1.tar.gz |
Don't get ancestors' constant as Handler that name is same
-rw-r--r-- | lib/rack/handler.rb | 2 | ||||
-rw-r--r-- | test/spec_handler.rb | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/rack/handler.rb b/lib/rack/handler.rb index f11e37e3..8a5fadd5 100644 --- a/lib/rack/handler.rb +++ b/lib/rack/handler.rb @@ -19,7 +19,7 @@ module Rack if klass = @handlers[server] klass.split("::").inject(Object) { |o, x| o.const_get(x) } else - const_get(server) + const_get(server, false) end rescue NameError => name_error diff --git a/test/spec_handler.rb b/test/spec_handler.rb index e8f41fdc..c252c176 100644 --- a/test/spec_handler.rb +++ b/test/spec_handler.rb @@ -23,6 +23,10 @@ describe Rack::Handler do lambda { Rack::Handler.get('boom') }.should.raise(LoadError) + + lambda { + Rack::Handler.get('Object') + }.should.raise(LoadError) end should "get unregistered, but already required, handler by name" do |