rails_spotlight 0.2.5 → 0.3.0
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 +4 -4
- data/README.md +60 -5
- data/lib/rails_spotlight/app_notifications.rb +3 -1
- data/lib/rails_spotlight/channels/handlers/live_console_handler.rb +64 -0
- data/lib/rails_spotlight/channels/handlers/logs_handler.rb +38 -0
- data/lib/rails_spotlight/channels/handlers.rb +29 -0
- data/lib/rails_spotlight/channels/silence_action_cable_broadcaster_logging.rb +26 -0
- data/lib/rails_spotlight/channels/spotlight_channel.rb +71 -0
- data/lib/rails_spotlight/channels.rb +2 -2
- data/lib/rails_spotlight/configuration.rb +21 -4
- data/lib/rails_spotlight/event.rb +2 -1
- data/lib/rails_spotlight/log_interceptor.rb +37 -29
- data/lib/rails_spotlight/middlewares/handlers/base_action_handler.rb +34 -2
- data/lib/rails_spotlight/middlewares/handlers/code_analysis_action_handler.rb +89 -0
- data/lib/rails_spotlight/middlewares/handlers/console_action_handler.rb +5 -23
- data/lib/rails_spotlight/middlewares/handlers/directory_index_action_handler.rb +112 -0
- data/lib/rails_spotlight/middlewares/handlers/file_action_handler.rb +18 -4
- data/lib/rails_spotlight/middlewares/handlers/meta_action_handler.rb +0 -1
- data/lib/rails_spotlight/middlewares/handlers/sql_action_handler.rb +6 -15
- data/lib/rails_spotlight/middlewares/handlers/verify_action_handler.rb +6 -2
- data/lib/rails_spotlight/middlewares/request_completed.rb +14 -10
- data/lib/rails_spotlight/middlewares/request_handler.rb +5 -1
- data/lib/rails_spotlight/railtie.rb +12 -4
- data/lib/rails_spotlight/render_view_reporter.rb +3 -1
- data/lib/rails_spotlight/utils.rb +2 -0
- data/lib/rails_spotlight/version.rb +1 -1
- data/lib/tasks/init.rake +75 -6
- metadata +9 -4
- data/lib/rails_spotlight/channels/live_console_channel.rb +0 -62
- data/lib/rails_spotlight/channels/request_completed_channel.rb +0 -15
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_spotlight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pawel Niemczyk
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack-contrib
|
@@ -240,15 +240,20 @@ files:
|
|
240
240
|
- lib/rails_spotlight/app_notifications.rb
|
241
241
|
- lib/rails_spotlight/app_request.rb
|
242
242
|
- lib/rails_spotlight/channels.rb
|
243
|
-
- lib/rails_spotlight/channels/
|
244
|
-
- lib/rails_spotlight/channels/
|
243
|
+
- lib/rails_spotlight/channels/handlers.rb
|
244
|
+
- lib/rails_spotlight/channels/handlers/live_console_handler.rb
|
245
|
+
- lib/rails_spotlight/channels/handlers/logs_handler.rb
|
246
|
+
- lib/rails_spotlight/channels/silence_action_cable_broadcaster_logging.rb
|
247
|
+
- lib/rails_spotlight/channels/spotlight_channel.rb
|
245
248
|
- lib/rails_spotlight/configuration.rb
|
246
249
|
- lib/rails_spotlight/event.rb
|
247
250
|
- lib/rails_spotlight/log_interceptor.rb
|
248
251
|
- lib/rails_spotlight/middlewares.rb
|
249
252
|
- lib/rails_spotlight/middlewares/concerns/skip_request_paths.rb
|
250
253
|
- lib/rails_spotlight/middlewares/handlers/base_action_handler.rb
|
254
|
+
- lib/rails_spotlight/middlewares/handlers/code_analysis_action_handler.rb
|
251
255
|
- lib/rails_spotlight/middlewares/handlers/console_action_handler.rb
|
256
|
+
- lib/rails_spotlight/middlewares/handlers/directory_index_action_handler.rb
|
252
257
|
- lib/rails_spotlight/middlewares/handlers/file_action_handler.rb
|
253
258
|
- lib/rails_spotlight/middlewares/handlers/meta_action_handler.rb
|
254
259
|
- lib/rails_spotlight/middlewares/handlers/not_found_action_handler.rb
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../rails_command_executor'
|
4
|
-
module RailsSpotlight
|
5
|
-
module Channels
|
6
|
-
class LiveConsoleChannel < ActionCable::Channel::Base
|
7
|
-
def subscribed
|
8
|
-
stream_from 'rails_spotlight_live_console_channel'
|
9
|
-
publish({ message: "Welcome to the #{project} project Rails Spotlight Live Console" })
|
10
|
-
end
|
11
|
-
|
12
|
-
def unsubscribed
|
13
|
-
# Any cleanup needed when channel is unsubscribed
|
14
|
-
end
|
15
|
-
|
16
|
-
def receive(data)
|
17
|
-
command = data['command']
|
18
|
-
inspect_types = data['inspect_types']
|
19
|
-
for_project = data['project']
|
20
|
-
return publish({ error: project_mismatch_message(for_project) }) if for_project.present? && for_project != project
|
21
|
-
|
22
|
-
output = execute_command(command, inspect_types)
|
23
|
-
publish(output)
|
24
|
-
end
|
25
|
-
|
26
|
-
private
|
27
|
-
|
28
|
-
def project_mismatch_message(for_project)
|
29
|
-
"Project mismatch, The command was intended for the #{for_project} project. This is #{project} project"
|
30
|
-
end
|
31
|
-
|
32
|
-
def publish(data)
|
33
|
-
transmit(data.merge(project: project))
|
34
|
-
end
|
35
|
-
|
36
|
-
# TODO: add possibility to change project name via ENV variable or RailsSpotlight config
|
37
|
-
def project
|
38
|
-
::RailsSpotlight.config.project_name
|
39
|
-
end
|
40
|
-
|
41
|
-
def executor
|
42
|
-
@executor ||= ::RailsSpotlight::RailsCommandExecutor.new
|
43
|
-
end
|
44
|
-
|
45
|
-
def execute_command(command, inspect_types)
|
46
|
-
RailsSpotlight.config.logger && RailsSpotlight.config.logger.info("Executing command: #{command}") # rubocop:disable Style/SafeNavigation
|
47
|
-
|
48
|
-
executor.execute(command)
|
49
|
-
if executor.execution_successful?
|
50
|
-
{
|
51
|
-
result: executor.result_as_json(inspect_types: inspect_types),
|
52
|
-
project: ::RailsSpotlight.config.project_name
|
53
|
-
}
|
54
|
-
else
|
55
|
-
executor.result_as_json.merge(project: ::RailsSpotlight.config.project_name)
|
56
|
-
end
|
57
|
-
rescue => e # rubocop:disable Style/RescueStandardError
|
58
|
-
{ error: e.message }
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RailsSpotlight
|
4
|
-
module Channels
|
5
|
-
class RequestCompletedChannel < ActionCable::Channel::Base
|
6
|
-
def subscribed
|
7
|
-
stream_from 'rails_spotlight_request_completed_channel'
|
8
|
-
end
|
9
|
-
|
10
|
-
def unsubscribed
|
11
|
-
# Any cleanup needed when channel is unsubscribed
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|