Class: ScoutApm::FrameworkIntegrations::Rails3Or4

Inherits:
Object
  • Object
show all
Defined in:
lib/scout_apm/framework_integrations/rails_3_or_4.rb

Instance Method Summary collapse

Instance Method Details

#application_nameObject



22
23
24
25
26
27
28
29
# File 'lib/scout_apm/framework_integrations/rails_3_or_4.rb', line 22

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

#database_engineObject



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/scout_apm/framework_integrations/rails_3_or_4.rb', line 35

def database_engine
  default = :mysql

  if defined?(ActiveRecord::Base)
    adapter = getDatabaseAdapter # can be nil

    case adapter.to_s
    when "postgres"   then :postgres
    when "postgresql" then :postgres
    when "postgis"    then :postgres
    when "sqlite3"    then :sqlite
    when "mysql"      then :mysql
    else default
    end
  else
    # TODO: Figure out how to detect outside of Rails context. (sequel, ROM, etc)
    default
  end
end

#envObject



31
32
33
# File 'lib/scout_apm/framework_integrations/rails_3_or_4.rb', line 31

def env
  ::Rails.env
end

#getDatabaseAdapterObject



55
56
57
58
59
60
61
62
63
# File 'lib/scout_apm/framework_integrations/rails_3_or_4.rb', line 55

def getDatabaseAdapter
  if ActiveRecord::Base.respond_to?(:connection_config)
    ActiveRecord::Base.connection_config[:adapter]
  elsif ActiveRecord::Base.respond_to?(:configurations)
    ActiveRecord::Base.configurations[env]["adapter"]
  end
rescue
  nil
end

#human_nameObject



8
9
10
# File 'lib/scout_apm/framework_integrations/rails_3_or_4.rb', line 8

def human_name
  "Rails"
end

#nameObject



4
5
6
# File 'lib/scout_apm/framework_integrations/rails_3_or_4.rb', line 4

def name
  :rails3_or_4
end

#present?Boolean

Returns:

  • (Boolean)


16
17
18
19
20
# File 'lib/scout_apm/framework_integrations/rails_3_or_4.rb', line 16

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

#versionObject



12
13
14
# File 'lib/scout_apm/framework_integrations/rails_3_or_4.rb', line 12

def version
  Rails::VERSION::STRING
end