Class: AppMap::Handler::Rails::SQLHandler::SQLExaminer::ActiveRecordExaminer
- Inherits:
-
Object
- Object
- AppMap::Handler::Rails::SQLHandler::SQLExaminer::ActiveRecordExaminer
- Defined in:
- lib/appmap/handler/rails/sql_handler.rb
Constant Summary collapse
- @@db_version_warning_issued =
{}
Instance Method Summary collapse
- #database_type ⇒ Object
- #execute_query(sql) ⇒ Object
- #issue_warning ⇒ Object
- #server_version ⇒ Object
Instance Method Details
#database_type ⇒ Object
89 90 91 92 93 94 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 89 def database_type type = ActiveRecord::Base.connection.adapter_name.downcase.to_sym type = :postgres if type == :postgresql type end |
#execute_query(sql) ⇒ Object
96 97 98 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 96 def execute_query(sql) ActiveRecord::Base.connection.execute(sql).inject([]) { |memo, r| memo << r; memo } end |
#issue_warning ⇒ Object
78 79 80 81 82 83 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 78 def issue_warning db_type = database_type return if @@db_version_warning_issued[db_type] warn("AppMap: Unable to determine database version for #{db_type.inspect}") @@db_version_warning_issued[db_type] = true end |
#server_version ⇒ Object
85 86 87 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 85 def server_version ActiveRecord::Base.connection.try(:database_version) || issue_warning end |