lib/code_buddy/middleware.rb in code_buddy-0.0.2 vs lib/code_buddy/middleware.rb in code_buddy-0.0.3

- old
+ new

@@ -1,47 +1,16 @@ -def rails_loaded - Module.const_get('Rails') - return true -rescue NameError - return false -end - -if rails_loaded - module CodeBuddy - class Railtie < Rails::Railtie - initializer "code_buddy.add_middleware" do |app| - if app.config.action_dispatch.show_exceptions - app.middleware.swap ActionDispatch::ShowExceptions, CodeBuddy::ShowExceptions - end - end +module CodeBuddy + class ShowApp + def initialize(app) + @app = app end - class ShowExceptions < ActionDispatch::ShowExceptions - - CODEBUDDY_TEMPLATE_PATH = File.join(File.dirname(__FILE__), 'templates') - - def call(env) - if env['PATH_INFO'] =~ /^\/code_buddy(.*)/ - env['PATH_INFO'] = $1 - App.new.call(env) - else - super - end + def call(env) + if env['PATH_INFO'] =~ /^\/code_buddy(.*)/ + env['PATH_INFO'] = $1 + App.new.call(env) + else + @app.call(env) end - - def rescue_action_locally(request, exception) - template = ActionView::Base.new([CODEBUDDY_TEMPLATE_PATH], - :request => request, - :exception => exception, - :application_trace => application_trace(exception), - :framework_trace => framework_trace(exception), - :full_trace => full_trace(exception) - ) - file = "rescues/#{@@rescue_templates[exception.class.name]}.erb" - body = template.render(:file => file, :layout => 'rescues/layout.erb') - App.exception = exception - render(status_code(exception), body) - end - end end end