diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2008-05-06 12:16:55 +0100 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-05-06 12:16:55 +0100 |
commit | 63e8bcaeb31443cecc5bef5762a45643cc12d481 (patch) | |
tree | 57800132eecace875b1701b79883d179dfb8c021 /activesupport | |
parent | 4a0118d7278687b534edf1e1184d6858cb4d29b8 (diff) | |
parent | e520fd5db7cb839b862c03647effee50f9223d98 (diff) | |
download | rails-63e8bcaeb31443cecc5bef5762a45643cc12d481.tar.gz rails-63e8bcaeb31443cecc5bef5762a45643cc12d481.tar.bz2 rails-63e8bcaeb31443cecc5bef5762a45643cc12d481.zip |
Merge commit 'mainstream/master'
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/deprecation.rb | 14 | ||||
-rw-r--r-- | activesupport/test/deprecation_test.rb | 10 |
2 files changed, 24 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/deprecation.rb b/activesupport/lib/active_support/deprecation.rb index c9f1884da3..7613652c71 100644 --- a/activesupport/lib/active_support/deprecation.rb +++ b/activesupport/lib/active_support/deprecation.rb @@ -175,6 +175,20 @@ module ActiveSupport ActiveSupport::Deprecation.warn("#{@var} is deprecated! Call #{@method}.#{called} instead of #{@var}.#{called}. Args: #{args.inspect}", callstack) end end + + class DeprecatedInstanceVariable < Delegator #:nodoc: + def initialize(value, method) + super(value) + @method = method + @value = value + end + + def __getobj__ + ActiveSupport::Deprecation.warn("Instance variable @#{@method} is deprecated! Call instance method #{@method} instead.") + @value + end + end + end end diff --git a/activesupport/test/deprecation_test.rb b/activesupport/test/deprecation_test.rb index ebfa405947..11357e250f 100644 --- a/activesupport/test/deprecation_test.rb +++ b/activesupport/test/deprecation_test.rb @@ -149,3 +149,13 @@ class DeprecationTest < Test::Unit::TestCase assert_nil @last_message end end + +class DeprecatedIvarTest < Test::Unit::TestCase + + def test_deprecated_ivar + @action = ActiveSupport::Deprecation::DeprecatedInstanceVariable.new("fubar", :foobar) + + assert_deprecated(/Instance variable @foobar is deprecated! Call instance method foobar instead/) { assert_equal "fubar", @action } + end + +end |