- respond_to_missing? is now a required method
This commit is contained in:
DBA
2010-08-22 19:47:33 +08:00
committed by Tobias Lütke
parent 5425679a96
commit 8e4573a7bf
2 changed files with 8 additions and 0 deletions

View File

@@ -16,6 +16,9 @@ module Liquid
INTERNAL_METHOD = /^__/
@@required_methods = Set.new([:__id__, :__send__, :respond_to?, :extend, :methods, :class, :object_id])
# Ruby 1.9.2 introduces Object#respond_to_missing?, which is invoked by Object#respond_to?
@@required_methods << :respond_to_missing? if Object.respond_to? :respond_to_missing?
@@filters = {}
def initialize(context)

View File

@@ -18,4 +18,9 @@ class StrainerTest < Test::Unit::TestCase
assert_equal true, strainer.respond_to?('size', false)
end
# Asserts that Object#respond_to_missing? is not being undefined in Ruby versions where it has been implemented
# Currently this method is only present in Ruby v1.9.2, or higher
def test_object_respond_to_missing
assert_equal Object.respond_to?(:respond_to_missing?), Strainer.create(nil).respond_to?(:respond_to_missing?)
end
end