Don't assume method lists are Strings in 1.9

Object.private_instance_methods and Object.private_methods
return Arrays of Symbols in 1.9.
This commit is contained in:
Ryan Tomayko 2009-01-30 17:49:47 -08:00
parent 0d3e84432e
commit f497f4f36f
2 changed files with 3 additions and 3 deletions

View File

@ -10,7 +10,7 @@ context "Sinatra" do
object = Object.new
methods = %w[get put post head delete configure template helpers set]
methods.each do |method|
object.private_methods.should.include(method)
object.private_methods.map { |m| m.to_sym }.should.include(method.to_sym)
end
end

View File

@ -44,8 +44,8 @@ describe 'Registering extensions' do
it 'will make sure any public methods added via Default#register are delegated to Sinatra::Delegator' do
Sinatra::Default.register FooExtensions
assert Sinatra::Delegator.private_instance_methods.include?("foo")
assert !Sinatra::Delegator.private_instance_methods.include?("im_hiding_in_ur_foos")
assert Sinatra::Delegator.private_instance_methods.map(&:to_sym).include?(:foo)
assert !Sinatra::Delegator.private_instance_methods.map(&:to_sym).include?(:im_hiding_in_ur_foos)
end
it 'will not delegate methods on Base#register' do