summaryrefslogtreecommitdiff
path: root/app/controllers/controller_extension/flash.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/controller_extension/flash.rb')
-rw-r--r--app/controllers/controller_extension/flash.rb18
1 files changed, 15 insertions, 3 deletions
diff --git a/app/controllers/controller_extension/flash.rb b/app/controllers/controller_extension/flash.rb
index 1642141..45072cf 100644
--- a/app/controllers/controller_extension/flash.rb
+++ b/app/controllers/controller_extension/flash.rb
@@ -4,9 +4,13 @@ module ControllerExtension::Flash
protected
def flash_for(resource, options = {})
- return unless resource.changed?
- add_flash_message_for resource
- add_flash_errors_for resource if options[:with_errors]
+ if resource.is_a? Exception
+ add_flash_message_for_exception resource
+ else
+ return unless resource.changed?
+ add_flash_message_for resource
+ add_flash_errors_for resource if options[:with_errors]
+ end
end
def add_flash_message_for(resource)
@@ -40,4 +44,12 @@ module ControllerExtension::Flash
flash[:error] += "<br>"
flash[:error] += resource.errors.full_messages.join(". <br>")
end
+
+ #
+ # This is pretty crude. It would be good to l10n in the future.
+ #
+ def add_flash_message_for_exception(exc)
+ flash[:error] = exc.to_s
+ end
+
end