aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2013-06-26 13:20:26 -0700
committerYves Senn <yves.senn@gmail.com>2013-06-26 13:20:26 -0700
commit3f50dd21c13359735bb40c5693010c6dd5e4b132 (patch)
treefede5b2683329ed7301ad6eb26efd91be61c101f /activesupport
parent577fad19089a370b3ab8fabb6fb744d2d7c0ff1c (diff)
parent8139d727c548863ea8f986d6e6a2249fe5bd83f2 (diff)
downloadrails-3f50dd21c13359735bb40c5693010c6dd5e4b132.tar.gz
rails-3f50dd21c13359735bb40c5693010c6dd5e4b132.tar.bz2
rails-3f50dd21c13359735bb40c5693010c6dd5e4b132.zip
Merge pull request #10828 from southpolesteve/delegation_error_class
Create DelegationError class
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/lib/active_support/core_ext/module/delegation.rb4
-rw-r--r--activesupport/test/core_ext/module_test.rb2
2 files changed, 4 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/core_ext/module/delegation.rb b/activesupport/lib/active_support/core_ext/module/delegation.rb
index 3dde87ac2e..9d4b78e242 100644
--- a/activesupport/lib/active_support/core_ext/module/delegation.rb
+++ b/activesupport/lib/active_support/core_ext/module/delegation.rb
@@ -176,7 +176,7 @@ class Module
end # end
EOS
else
- exception = %(raise "#{self}##{method_prefix}#{method} delegated to #{to}.#{method}, but #{to} is nil: \#{self.inspect}")
+ exception = %(raise DelegationError, "#{self}##{method_prefix}#{method} delegated to #{to}.#{method}, but #{to} is nil: \#{self.inspect}")
module_eval(<<-EOS, file, line - 2)
def #{method_prefix}#{method}(#{definition}) # def customer_name(*args, &block)
@@ -194,3 +194,5 @@ class Module
end
end
end
+
+class DelegationError < StandardError ; end
diff --git a/activesupport/test/core_ext/module_test.rb b/activesupport/test/core_ext/module_test.rb
index 8872611fb1..ecef7754aa 100644
--- a/activesupport/test/core_ext/module_test.rb
+++ b/activesupport/test/core_ext/module_test.rb
@@ -207,7 +207,7 @@ class ModuleTest < ActiveSupport::TestCase
def test_delegation_without_allow_nil_and_nil_value
david = Someone.new("David")
- assert_raise(RuntimeError) { david.street }
+ assert_raise(DelegationError) { david.street }
end
def test_delegation_to_method_that_exists_on_nil