I have a simple rails application with a few controller and some rake tasks. A couple of tasks are executed by cron configured with whenever gem.

One of my task is executed daily and sometime it raises an exception and by default I receive this warning by cron

rake aborted!
undefined method `parameterize' for nil:NilClass

Tasks: TOP => mailboxes:clean_processed
(See full trace by running task with --trace)

I want to debug what's happening and for this reason I've just installed this exception notification gem with this line in my Gemfile

gem "exception_notification", "~> 2.4.1", :require => 'exception_notifier'

and configured it in my application.rb file with

# enable exception notification
config.middleware.use ExceptionNotifier,
                      :email_prefix => "[MyAppName] ",
                      :sender_address => %{"notifier" <report@example.com>},
                      :exception_recipients => %w{me@example.com}

Since this gem is a rack middleware it only works for web requests and not for rake tasks. I'd like to enable it also for rake tasks and I found this gist which do the job.

It works, however it's not DRY, I need to repeat gem configuration in that method and I also need to change all my rake tasks to enclose their statements in a block as in

exception_notify { actual_task_code }

Is there any better way to solve this?

P.S. If I need to change the notification gem would not be a problem because I added only a few lines of code to my project.

P.P.S. I know that I can also change the rake line in the cr

Edit
Report