diff options
author | Anton Khamets <colorfulfool@gmail.com> | 2017-08-07 17:38:51 +0300 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2017-08-07 09:38:51 -0500 |
commit | 7c89948c416fbc32b59e33a0ab454545b4f6fed7 (patch) | |
tree | 32f23ba3e6f44a95153f64da07e242b86f16f24e /activesupport | |
parent | df94b863c2ff8f1bcf12e36ed8fc1419292668e7 (diff) | |
download | rails-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.rb | 2 |
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 |