Sha256: 26f18d7e74eb355bf58d49dfcef5c9ad838e9ce8f4547c13201f2aff174d8fa8

Contents?: true

Size: 1.25 KB

Versions: 102

Compression:

Stored size: 1.25 KB

Contents

module ScoutApm
  module FrameworkIntegrations
    class Rails2
      def name
        :rails
      end

      def human_name
        "Rails"
      end

      def version
        Rails::VERSION::STRING
      end

      def present?
        defined?(::Rails) &&
          defined?(ActionController) &&
          Rails::VERSION::MAJOR < 3
      end

      def application_name
        if defined?(::Rails)
          ::Rails.application.class.to_s.
            sub(/::Application$/, '')
        end
      rescue
        nil
      end

      def env
        RAILS_ENV.dup
      end

      # Attempts to determine the database engine being used
      def database_engine
        default = :mysql

        if defined?(ActiveRecord::Base)
          case raw_database_adapter
          when "postgres"   then :postgres
          when "postgresql" then :postgres
          when "postgis"    then :postgres
          when "sqlite3"    then :sqlite
          when "mysql"      then :mysql
          when "mysql2"     then :mysql
          else default
          end
        else
          default
        end
      rescue
        default
      end

      def raw_database_adapter
        ActiveRecord::Base.configurations[env]["adapter"]
      rescue
        nil
      end
    end
  end
end

Version data entries

102 entries across 102 versions & 1 rubygems

Version Path
scout_apm-2.4.19 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.18 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-3.0.0.pre28 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-3.0.0.pre27 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.17 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.16 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-3.0.0.pre26 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.15 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.14 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-3.0.0.pre25 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.13 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.12 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-3.0.0.pre23 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.11 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.11.pre lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-3.0.0.pre22 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.10 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-3.0.0.pre21 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.9 lib/scout_apm/framework_integrations/rails_2.rb
scout_apm-2.4.8 lib/scout_apm/framework_integrations/rails_2.rb