aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorAnton Khamets <colorfulfool@gmail.com>2017-08-07 17:38:51 +0300
committerDavid Heinemeier Hansson <david@loudthinking.com>2017-08-07 09:38:51 -0500
commit7c89948c416fbc32b59e33a0ab454545b4f6fed7 (patch)
tree32f23ba3e6f44a95153f64da07e242b86f16f24e /activesupport
parentdf94b863c2ff8f1bcf12e36ed8fc1419292668e7 (diff)
downloadrails-7c89948c416fbc32b59e33a0ab454545b4f6fed7.tar.gz
rails-7c89948c416fbc32b59e33a0ab454545b4f6fed7.tar.bz2
rails-7c89948c416fbc32b59e33a0ab454545b4f6fed7.zip
Extend image_tag to accept ActiveStorage Attachments and Variants (#30084)
* Extend image_tag to accept ActiveStorage's Attachments and Variants * Flip resolve_image_source around * Add tests for the new use-cases of image_tag * Remove the higher-level test * Update image_tag documentation * Add error states into the test suite * Re-raise polymorhic_url's NoMethodError as ArgumentError * delegate_missing_to will raise DelegationError instead of NoMethodError
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/lib/active_support/core_ext/module/delegation.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/core_ext/module/delegation.rb b/activesupport/lib/active_support/core_ext/module/delegation.rb
index 6565d53a06..c979af9de3 100644
--- a/activesupport/lib/active_support/core_ext/module/delegation.rb
+++ b/activesupport/lib/active_support/core_ext/module/delegation.rb
@@ -273,6 +273,8 @@ class Module
def method_missing(method, *args, &block)
if #{target}.respond_to?(method)
#{target}.public_send(method, *args, &block)
+ elsif #{target}.nil?
+ raise DelegationError, "\#{method} delegated to #{target}, but #{target} is nil"
else
super
end