dbviewer 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7607c650d549f8b7b0e7fb6ec8aa4c710028a7f9ca40f1524b41594c4e22dc68
|
4
|
+
data.tar.gz: 00c9b8b1063ecd3584b5d53d0471b87130a63900760cb089b8b5537b4cea80b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d07a11c5481917f3b80c893ac7b0e3a4ceefa5e502ccd843d08881ab1d0cdd62989e8a6a7d2eda9e225a27e87187511c698dde1cfbddca33215d3dd2560721a
|
7
|
+
data.tar.gz: 84830ff63c74c5792adff5d3d0656c45a4c0f11805fb4b21899b979812530223f29f3045d8be359f355846190b2933fea845eb59a308a3ddeac500e7e5ce7288
|
@@ -14,7 +14,8 @@ module Dbviewer
|
|
14
14
|
# @param table_name [String] Name of the table
|
15
15
|
# @return [Class] ActiveRecord model class for the table
|
16
16
|
def get_model_for(table_name)
|
17
|
-
|
17
|
+
cached_model = @cache_manager.get_model(table_name)
|
18
|
+
return cached_model if cached_model
|
18
19
|
|
19
20
|
model = create_model_for(table_name)
|
20
21
|
@cache_manager.store_model(table_name, model)
|
data/lib/dbviewer/engine.rb
CHANGED
@@ -19,7 +19,7 @@ module Dbviewer
|
|
19
19
|
end
|
20
20
|
|
21
21
|
initializer "dbviewer.notifications" do
|
22
|
-
|
22
|
+
next unless Rails.env.development?
|
23
23
|
|
24
24
|
ActiveSupport::Notifications.subscribe("sql.active_record") do |*args|
|
25
25
|
event = ActiveSupport::Notifications::Event.new(*args)
|
data/lib/dbviewer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dbviewer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wailan Tirajoh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -54,7 +54,6 @@ files:
|
|
54
54
|
- app/assets/stylesheets/dbviewer/dbviewer.css
|
55
55
|
- app/assets/stylesheets/dbviewer/enhanced.css
|
56
56
|
- app/controllers/concerns/dbviewer/database_operations.rb
|
57
|
-
- app/controllers/concerns/dbviewer/error_handling.rb
|
58
57
|
- app/controllers/concerns/dbviewer/pagination_concern.rb
|
59
58
|
- app/controllers/dbviewer/api/base_controller.rb
|
60
59
|
- app/controllers/dbviewer/api/database_controller.rb
|
@@ -1,42 +0,0 @@
|
|
1
|
-
module Dbviewer
|
2
|
-
module ErrorHandling
|
3
|
-
extend ActiveSupport::Concern
|
4
|
-
|
5
|
-
included do
|
6
|
-
# Ensure common database errors are handled gracefully
|
7
|
-
rescue_from ActiveRecord::ActiveRecordError, with: :handle_database_error
|
8
|
-
end
|
9
|
-
|
10
|
-
# Handle database connection errors
|
11
|
-
def handle_database_error(exception)
|
12
|
-
message = case exception
|
13
|
-
when ActiveRecord::ConnectionNotEstablished
|
14
|
-
"Database connection could not be established."
|
15
|
-
when ActiveRecord::StatementInvalid
|
16
|
-
"Invalid SQL statement: #{exception.message}"
|
17
|
-
else
|
18
|
-
"Database error: #{exception.message}"
|
19
|
-
end
|
20
|
-
|
21
|
-
flash.now[:error] = message
|
22
|
-
Rails.logger.error("Database error: #{exception.message}\n#{exception.backtrace.join("\n")}")
|
23
|
-
|
24
|
-
# Determine where to redirect based on the current action
|
25
|
-
if action_name == "show" || action_name == "query"
|
26
|
-
@error = message
|
27
|
-
@records = nil
|
28
|
-
render action_name
|
29
|
-
else
|
30
|
-
@tables = []
|
31
|
-
render :index
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def log_error(error, prefix = "Error")
|
36
|
-
error_msg = "#{prefix}: #{error.message}"
|
37
|
-
flash.now[:error] = error_msg
|
38
|
-
Rails.logger.error("#{prefix}: #{error.message}\n#{error.backtrace.join("\n")}")
|
39
|
-
error_msg
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|