Class: Datadog::Tracing::Contrib::Rails::Integration
- Inherits:
-
Object
- Object
- Datadog::Tracing::Contrib::Rails::Integration
- Includes:
- Integration
- Defined in:
- lib/datadog/tracing/contrib/rails/integration.rb
Overview
Description of Rails integration
Constant Summary collapse
- MINIMUM_VERSION =
The version of Rails lives in Ext because the ‘rails/patcher.rb` indirectly loads all Rails components, and those components need the Rails version. Declaring the version here would cause a circular dependency.
Ext::MINIMUM_VERSION
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Integration
Class Method Details
.compatible? ⇒ Boolean
33 34 35 |
# File 'lib/datadog/tracing/contrib/rails/integration.rb', line 33 def self.compatible? super && version >= MINIMUM_VERSION end |
.loaded? ⇒ Boolean
29 30 31 |
# File 'lib/datadog/tracing/contrib/rails/integration.rb', line 29 def self.loaded? !defined?(::Rails).nil? end |
.patchable? ⇒ Boolean
37 38 39 |
# File 'lib/datadog/tracing/contrib/rails/integration.rb', line 37 def self.patchable? super && !ENV.key?(Ext::ENV_DISABLE) end |
.version ⇒ Object
25 26 27 |
# File 'lib/datadog/tracing/contrib/rails/integration.rb', line 25 def self.version Gem.loaded_specs['railties'] && Gem.loaded_specs['railties'].version end |
Instance Method Details
#new_configuration ⇒ Object
41 42 43 |
# File 'lib/datadog/tracing/contrib/rails/integration.rb', line 41 def new_configuration Configuration::Settings.new end |
#patcher ⇒ Object
45 46 47 |
# File 'lib/datadog/tracing/contrib/rails/integration.rb', line 45 def patcher Patcher end |