Sha256: 18f7106be274941a8b7b90825796d6bbf17d3e2c3e4a25664f798205f7ceced8

Contents?: true

Size: 1.81 KB

Versions: 39

Compression:

Stored size: 1.81 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require 'new_relic/control/frameworks/rails'
require 'new_relic/rack/error_collector'
module NewRelic
  class Control
    module Frameworks
      # Control subclass instantiated when Rails is detected.  Contains
      # Rails 3.0+  specific configuration, instrumentation, environment values,
      # etc. Many methods are inherited from the
      # NewRelic::Control::Frameworks::Rails class, where the two do
      # not differ
      class Rails3 < NewRelic::Control::Frameworks::Rails

        def env
          @env ||= ::Rails.env.to_s
        end

        def rails_root
          ::Rails.root.to_s
        end

        def init_config(options={})
          super
          if Agent.config[:agent_enabled] && Agent.config[:'error_collector.enabled']
            if !rails_config.middleware.respond_to?(:include?) ||
                !rails_config.middleware.include?(NewRelic::Rack::ErrorCollector)
              add_error_collector_middleware
            end
          end
        end

        def add_error_collector_middleware
          rails_config.middleware.use NewRelic::Rack::ErrorCollector
        rescue => e
          NewRelic::Agent.logger.debug("Error encountered installing ErrorCollector: #{e}")
        end

        def vendor_root
          @vendor_root ||= File.join(root,'vendor','rails')
        end

        def version
          @rails_version ||= NewRelic::VersionNumber.new(::Rails::VERSION::STRING)
        end

        protected

        def install_shim
          super
          ActiveSupport.on_load(:action_controller) do
            include NewRelic::Agent::Instrumentation::ControllerInstrumentation::Shim
          end
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
newrelic_rpm-3.9.5.251 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.9.4.245 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.9.3.241 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.9.2.239 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.9.1.236 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.9.0.229 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.8.1.221 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.8.0.218 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.3.204 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.3.199 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.2.195 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.2.192 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.2.190.beta lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.1.188 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.1.182 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.1.180 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.0.177 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.7.0.174.beta lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.6.9.171 lib/new_relic/control/frameworks/rails3.rb
newrelic_rpm-3.6.8.168 lib/new_relic/control/frameworks/rails3.rb