diff --git a/lib/sinatra/base.rb b/lib/sinatra/base.rb index 32ae3c45..2078056a 100644 --- a/lib/sinatra/base.rb +++ b/lib/sinatra/base.rb @@ -27,6 +27,10 @@ module Sinatra end end + def accept?(type) + preferred_type.include?(type) + end + def preferred_type(*types) accepts = accept # just evaluate once return accepts.first if types.empty? @@ -38,7 +42,6 @@ module Sinatra end end - alias accept? preferred_type alias secure? ssl? def forwarded? diff --git a/test/request_test.rb b/test/request_test.rb index 7654cd41..16cac39d 100644 --- a/test/request_test.rb +++ b/test/request_test.rb @@ -52,6 +52,7 @@ class RequestTest < Test::Unit::TestCase it "makes accept types behave like strings" do request = Sinatra::Request.new('HTTP_ACCEPT' => 'image/jpeg; compress=0.25') + assert request.accept?('image/jpeg') assert_equal 'image/jpeg', request.preferred_type.to_s assert_equal 'image/jpeg', request.preferred_type.to_str assert_equal 'image', request.preferred_type.split('/').first