class Rollbar::Js::Frameworks::Rails

Adds Rollbar::Middleware::Js to the Rails middleware stack We need to delay the final insert to the last moment since this feature may be disable. But we need to prepare the middleware insert now because we need to use our Rails railtie initializer in case the customer is using SecureHeaders > 3.0

Public Instance Methods

after_secure_headers(&block) click to toggle source
# File lib/rollbar/plugins/rails.rb, line 41
def after_secure_headers(&block)
  Rollbar::Railtie.initializer('rollbar.js.frameworks.rails',
                               :after => 'secure_headers.middleware', &block)
end
load(plugin) click to toggle source
# File lib/rollbar/plugins/rails.rb, line 33
def load(plugin)
  plugin_execute = plugin_execute_proc_body(plugin)

  return after_secure_headers(&plugin_execute) if secure_headers_middleware?

  plugin_execute.call
end
plugin_execute_proc_body(plugin) click to toggle source
# File lib/rollbar/plugins/rails.rb, line 46
def plugin_execute_proc_body(plugin)
  proc do
    plugin.execute do
      if Rollbar.configuration.js_enabled
        require 'rollbar/middleware/js'

        config = {
          :options => Rollbar.configuration.js_options,
          :enabled => Rollbar.configuration.js_enabled
        }
        ::Rails.configuration.middleware.use(::Rollbar::Middleware::Js,
                                             config)
      end
    end
  end
end
secure_headers_middleware?() click to toggle source
# File lib/rollbar/plugins/rails.rb, line 63
def secure_headers_middleware?
  begin
    require 'secure_headers'
  rescue LoadError
    # Skip loading
  end

  defined?(::SecureHeaders::Middleware)
end