Class: Tidewave::DatabaseAdapters::ActiveRecord

Inherits:
Tidewave::DatabaseAdapter show all
Defined in:
lib/tidewave/database_adapters/active_record.rb

Constant Summary collapse

RESULT_LIMIT =
50

Instance Method Summary collapse

Methods inherited from Tidewave::DatabaseAdapter

create_adapter, current

Instance Method Details

#execute_query(query, arguments = []) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/tidewave/database_adapters/active_record.rb', line 8

def execute_query(query, arguments = [])
  conn = ::ActiveRecord::Base.connection

  # Execute the query with prepared statement and arguments
  if arguments.any?
    result = conn.exec_query(query, "SQL", arguments)
  else
    result = conn.exec_query(query)
  end

  # Format the result
  {
    columns: result.columns,
    rows: result.rows.first(RESULT_LIMIT),
    row_count: result.rows.length,
    adapter: conn.adapter_name,
    database: database_name
  }
end

#get_modelsObject



28
29
30
# File 'lib/tidewave/database_adapters/active_record.rb', line 28

def get_models
  ::ActiveRecord::Base.descendants
end