Skip to content

Commit

Permalink
Tiny refactor.
Browse files Browse the repository at this point in the history
  • Loading branch information
smartinez87 committed Aug 25, 2011
1 parent 69f6a9f commit 7700622
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions lib/exception_notifier/notifier.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
class ExceptionNotifier
class Notifier < ActionMailer::Base
self.mailer_name = 'exception_notifier'

#Append application view path to the ExceptionNotifier lookup context.
self.append_view_path Rails.root.nil? ? "app/views" : "#{Rails.root}/app/views" if defined?(Rails)
self.append_view_path "#{File.dirname(__FILE__)}/views"
Expand Down Expand Up @@ -57,38 +58,38 @@ def exception_notification(env, exception)
instance_variable_set("@#{name}", value)
end

prefix = "#{@options[:email_prefix]}#{@kontroller.controller_name}##{@kontroller.action_name}"
subject = "#{prefix} (#{@exception.class}) #{@exception.message.inspect}"
subject = subject.length > 120 ? subject[0...120] + "..." : subject
prefix = "#{@options[:email_prefix]}#{@kontroller.controller_name}##{@kontroller.action_name}"
subject = "#{prefix} (#{@exception.class}) #{@exception.message.inspect}"
subject = subject.length > 120 ? subject[0...120] + "..." : subject

mail(:to => @options[:exception_recipients], :from => @options[:sender_address], :subject => subject) do |format|
format.text { render "#{mailer_name}/exception_notification" }
end
end

def background_exception_notification(exception)

if @notifier = Rails.application.config.middleware.detect { |x| x.klass == ExceptionNotifier }
@options = (@notifier.args.first || {}).reverse_merge(self.class.default_options)
subject = "#{@options[:email_prefix]} (#{exception.class}) #{exception.message.inspect}"

if @notifier = Rails.application.config.middleware.detect{ |x| x.klass == ExceptionNotifier }
@options = (@notifier.args.first || {}).reverse_merge(self.class.default_options)
subject = "#{@options[:email_prefix]} (#{exception.class}) #{exception.message.inspect}"

@exception = exception
@backtrace = exception.backtrace || []
@sections = %w{backtrace}
@backtrace = exception.backtrace || []
@sections = %w{backtrace}

mail(:to => @options[:exception_recipients], :from => @options[:sender_address], :subject => subject) do |format|
format.text { render "#{mailer_name}/background_exception_notification" }
end.deliver
end
end


private

def clean_backtrace(exception)
Rails.respond_to?(:backtrace_cleaner) ?
Rails.backtrace_cleaner.send(:filter, exception.backtrace) :
exception.backtrace
if Rails.respond_to?(:backtrace_cleaner)
Rails.backtrace_cleaner.send(:filter, exception.backtrace)
else
exception.backtrace
end
end

helper_method :inspect_object
Expand Down

0 comments on commit 7700622

Please sign in to comment.