Class: AppMap::Rails::SQLHandler::SQLExaminer::ActiveRecordExaminer

Inherits:
Object
  • Object
show all
Defined in:
lib/appmap/rails/sql_handler.rb

Instance Method Summary collapse

Instance Method Details

#database_typeObject



86
87
88
89
90
# File 'lib/appmap/rails/sql_handler.rb', line 86

def database_type
  return :postgres if ActiveRecord::Base.connection.respond_to?(:postgresql_version)

  ActiveRecord::Base.connection.adapter_name.downcase.to_sym
end

#execute_query(sql) ⇒ Object



92
93
94
# File 'lib/appmap/rails/sql_handler.rb', line 92

def execute_query(sql)
  ActiveRecord::Base.connection.execute(sql).inject([]) { |memo, r| memo << r; memo }
end

#server_versionObject



75
76
77
78
79
80
81
82
83
84
# File 'lib/appmap/rails/sql_handler.rb', line 75

def server_version
  case database_type
  when :postgres
    ActiveRecord::Base.connection.postgresql_version
  when :sqlite
    ActiveRecord::Base.connection.database_version.to_s
  else
    warn "Unable to determine database version for #{database_type.inspect}"
  end
end