debugbar 0.0.1 → 0.1.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.
Files changed (84) hide show
  1. checksums.yaml +7 -0
  2. data/.prettierrc +6 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +5 -0
  5. data/Rakefile +4 -0
  6. data/app/channels/debugbar/debugbar_channel.rb +26 -0
  7. data/app/controllers/debugbar/application_controller.rb +4 -0
  8. data/app/controllers/debugbar/assets_controller.rb +15 -0
  9. data/app/helpers/debugbar/tag_helpers.rb +19 -0
  10. data/app/models/debugbar/application_record.rb +5 -0
  11. data/client/.gitignore +25 -0
  12. data/client/README.md +0 -0
  13. data/client/dist/.vite/manifest.json +14 -0
  14. data/client/dist/assets/debugbar-u5mP-5-z.js +34 -0
  15. data/client/dist/assets/ruby-logo-kn_8RniZ.svg +946 -0
  16. data/client/index.html +78 -0
  17. data/client/package-lock.json +2393 -0
  18. data/client/package.json +32 -0
  19. data/client/postcss.config.js +6 -0
  20. data/client/src/App.vue +17 -0
  21. data/client/src/AppDemo.vue +29 -0
  22. data/client/src/AppDev.vue +20 -0
  23. data/client/src/Debugbar.vue +276 -0
  24. data/client/src/assets/rails-logo.svg +1 -0
  25. data/client/src/assets/ruby-logo.svg +946 -0
  26. data/client/src/components/TabButton.vue +32 -0
  27. data/client/src/components/panels/CachePanel.vue +41 -0
  28. data/client/src/components/panels/JobsPanel.vue +52 -0
  29. data/client/src/components/panels/JsonPanel.vue +15 -0
  30. data/client/src/components/panels/LogsPanel.vue +43 -0
  31. data/client/src/components/panels/MessagesPanel.vue +25 -0
  32. data/client/src/components/panels/ModelsPanel.vue +37 -0
  33. data/client/src/components/panels/Panel.vue +7 -0
  34. data/client/src/components/panels/RequestPanel.vue +98 -0
  35. data/client/src/components/queries/QueriesPanel.vue +17 -0
  36. data/client/src/components/queries/QueryItem.vue +65 -0
  37. data/client/src/components/ui/Foldable.vue +39 -0
  38. data/client/src/components/ui/KeyValueTable.vue +16 -0
  39. data/client/src/components/ui/Row.vue +14 -0
  40. data/client/src/components/ui/logo-ruby.vue +547 -0
  41. data/client/src/demo.ts +17 -0
  42. data/client/src/dev.ts +20 -0
  43. data/client/src/main.ts +17 -0
  44. data/client/src/models/Config.ts +27 -0
  45. data/client/src/models/Request.ts +183 -0
  46. data/client/src/stores/RequestsStore.ts +36 -0
  47. data/client/src/stores/configStore.ts +8 -0
  48. data/client/src/style.css +23 -0
  49. data/client/src/types.d.ts +9 -0
  50. data/client/src/vite-env.d.ts +1 -0
  51. data/client/tailwind.config.js +16 -0
  52. data/client/tsconfig.json +29 -0
  53. data/client/tsconfig.node.json +10 -0
  54. data/client/vite.config.ts +44 -0
  55. data/config/routes.rb +7 -0
  56. data/debugbar.gemspec +38 -0
  57. data/fixtures/requests/1706607114--demo_post_list.json +499 -0
  58. data/fixtures/requests/1706607120--api_jobs.json +176 -0
  59. data/fixtures/requests/1706607123--api_jobs.json +119 -0
  60. data/fixtures/requests/1706607133--demo_slow_page.json +130 -0
  61. data/fixtures/requests/1706607136--demo_post.json +164 -0
  62. data/fixtures/requests/1706607136--demo_random_post.json +106 -0
  63. data/fixtures/requests/1706607141--api_errors.json +73 -0
  64. data/lib/debugbar/buffers/memory_buffer.rb +34 -0
  65. data/lib/debugbar/buffers/null_buffer.rb +18 -0
  66. data/lib/debugbar/buffers/request_buffer.rb +31 -0
  67. data/lib/debugbar/config.rb +50 -0
  68. data/lib/debugbar/current.rb +18 -0
  69. data/lib/debugbar/engine.rb +96 -5
  70. data/lib/debugbar/loggers/simple_logger.rb +34 -0
  71. data/lib/debugbar/middlewares/track_current_request.rb +35 -0
  72. data/lib/debugbar/request.rb +98 -0
  73. data/lib/debugbar/subscribers/action_controller.rb +33 -0
  74. data/lib/debugbar/subscribers/active_job.rb +158 -0
  75. data/lib/debugbar/subscribers/active_record.rb +65 -0
  76. data/lib/debugbar/subscribers/active_support.rb +30 -0
  77. data/lib/debugbar/version.rb +5 -0
  78. data/lib/debugbar.rb +86 -5
  79. data/package-lock.json +50 -0
  80. data/package.json +5 -0
  81. data/sig/debugbar.rbs +4 -0
  82. metadata +143 -47
  83. data/README.textile +0 -18
  84. data/lib/debugbar/railties/tasks.rake +0 -1
@@ -0,0 +1,158 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Debugbar
4
+ class ActiveJobEventSubscriber
5
+ class_attribute :backtrace_cleaner, default: ActiveSupport::BacktraceCleaner.new
6
+
7
+ class << self
8
+ def enqueue(event)
9
+ return if Debugbar::Current.ignore?
10
+
11
+ job = event.payload[:job]
12
+ ex = event.payload[:exception_object] || job.enqueue_error
13
+
14
+ logs = []
15
+ logs << if ex
16
+ "Failed enqueuing #{job.class.name} to #{queue_name(event)}: #{ex.class} (#{ex.message})"
17
+ elsif event.payload[:aborted]
18
+ "Failed enqueuing #{job.class.name} to #{queue_name(event)}, a before_enqueue callback halted the enqueuing execution."
19
+ else
20
+ "Enqueued #{job.class.name} (Job ID: #{job.job_id}) to #{queue_name(event)}" + args_info(job)
21
+ end
22
+ logs << log_enqueue_source
23
+
24
+ Debugbar::Tracker.add_job({
25
+ id: job.job_id,
26
+ class: job.class.name,
27
+ queue: queue_name(event),
28
+ args: job.arguments.map { |arg| format(arg) },
29
+ successfully_enqueued: job.successfully_enqueued?,
30
+ scheduled_at: scheduled_at(job),
31
+ logs: logs,
32
+ })
33
+ end
34
+ # subscribe_log_level :enqueue, :info # ???
35
+
36
+ def enqueue_at(event)
37
+ return if Debugbar::Current.ignore?
38
+
39
+ job = event.payload[:job]
40
+ ex = event.payload[:exception_object] || job.enqueue_error
41
+
42
+ logs = []
43
+ logs << if ex
44
+ "Failed enqueuing #{job.class.name} to #{queue_name(event)}: #{ex.class} (#{ex.message})"
45
+ elsif event.payload[:aborted]
46
+ "Failed enqueuing #{job.class.name} to #{queue_name(event)}, a before_enqueue callback halted the enqueuing execution."
47
+ else
48
+ "Enqueued #{job.class.name} (Job ID: #{job.job_id}) to #{queue_name(event)} at #{scheduled_at(job)}" + args_info(job)
49
+ end
50
+ logs << log_enqueue_source
51
+
52
+ Debugbar::Tracker.add_job({
53
+ id: job.job_id,
54
+ class: job.class.name,
55
+ queue: queue_name(event),
56
+ args: job.arguments.map { |arg| format(arg) },
57
+ successfully_enqueued: job.successfully_enqueued?,
58
+ scheduled_at: scheduled_at(job),
59
+ logs: logs,
60
+ })
61
+ end
62
+ # subscribe_log_level :enqueue_at, :info
63
+
64
+ # def enqueue_all(event)
65
+ # info do
66
+ # jobs = event.payload[:jobs]
67
+ # adapter = event.payload[:adapter]
68
+ # enqueued_count = event.payload[:enqueued_count]
69
+ #
70
+ # if enqueued_count == jobs.size
71
+ # enqueued_jobs_message(adapter, jobs)
72
+ # elsif jobs.any?(&:successfully_enqueued?)
73
+ # enqueued_jobs = jobs.select(&:successfully_enqueued?)
74
+ #
75
+ # failed_enqueue_count = jobs.size - enqueued_count
76
+ # if failed_enqueue_count == 0
77
+ # enqueued_jobs_message(adapter, enqueued_jobs)
78
+ # else
79
+ # "#{enqueued_jobs_message(adapter, enqueued_jobs)}. "\
80
+ # "Failed enqueuing #{failed_enqueue_count} #{'job'.pluralize(failed_enqueue_count)}"
81
+ # end
82
+ # else
83
+ # failed_enqueue_count = jobs.size - enqueued_count
84
+ # "Failed enqueuing #{failed_enqueue_count} #{'job'.pluralize(failed_enqueue_count)} "\
85
+ # "to #{ActiveJob.adapter_name(adapter)}"
86
+ # end
87
+ # end
88
+ # end
89
+ # # subscribe_log_level :enqueue_all, :info
90
+
91
+ private
92
+ def queue_name(event)
93
+ ActiveJob.adapter_name(event.payload[:adapter]) + "(#{event.payload[:job].queue_name})"
94
+ end
95
+
96
+ def args_info(job)
97
+ if job.class.log_arguments? && job.arguments.any?
98
+ " with arguments: " +
99
+ job.arguments.map { |arg| format(arg).inspect }.join(", ")
100
+ else
101
+ ""
102
+ end
103
+ end
104
+
105
+ def format(arg)
106
+ case arg
107
+ when Hash
108
+ arg.transform_values { |value| format(value) }
109
+ when Array
110
+ arg.map { |value| format(value) }
111
+ when GlobalID::Identification
112
+ arg.to_global_id rescue arg
113
+ else
114
+ arg
115
+ end
116
+ end
117
+
118
+ def scheduled_at(job)
119
+ Time.at(job.scheduled_at).utc if job.scheduled_at
120
+ end
121
+
122
+ def logger
123
+ ActiveJob::Base.logger
124
+ end
125
+
126
+ def info(progname = nil, &block)
127
+ return unless super
128
+
129
+ if ActiveJob.verbose_enqueue_logs
130
+ log_enqueue_source
131
+ end
132
+ end
133
+
134
+ def error(progname = nil, &block)
135
+ return unless super
136
+
137
+ if ActiveJob.verbose_enqueue_logs
138
+ log_enqueue_source
139
+ end
140
+ end
141
+
142
+ def log_enqueue_source
143
+ extract_enqueue_source_location(caller)
144
+ end
145
+
146
+ def extract_enqueue_source_location(locations)
147
+ backtrace_cleaner.clean(locations.lazy).first
148
+ end
149
+
150
+ def enqueued_jobs_message(adapter, enqueued_jobs)
151
+ enqueued_count = enqueued_jobs.size
152
+ job_classes_counts = enqueued_jobs.map(&:class).tally.sort_by { |_k, v| -v }
153
+ "Enqueued #{enqueued_count} #{'job'.pluralize(enqueued_count)} to #{ActiveJob.adapter_name(adapter)}"\
154
+ " (#{job_classes_counts.map { |klass, count| "#{count} #{klass}" }.join(', ')})"
155
+ end
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Debugbar
4
+ class ActiveRecordEventSubscriber
5
+ class_attribute :backtrace_cleaner, default: ActiveSupport::BacktraceCleaner.new
6
+
7
+ class << self
8
+ def sql(event)
9
+ return if Debugbar::Current.ignore?
10
+
11
+ payload = event.payload
12
+
13
+ return if payload[:name]&.starts_with? "SCHEMA"
14
+
15
+ title = if payload[:async]
16
+ "ASYNC #{payload[:name]} (#{payload[:lock_wait].round(1)}ms) (db time #{event.duration.round(1)}ms)"
17
+ else
18
+ "#{payload[:name] || "Unnamed"} (#{event.duration.round(1)}ms)"
19
+ end
20
+ title = "CACHE #{title}" if payload[:cached]
21
+
22
+ sql = payload[:sql]&.gsub(/\/\*.*\*\//, "") # remove comments
23
+
24
+ binds = nil
25
+ if payload[:binds]&.any?
26
+ casted_params = type_casted_binds(payload[:type_casted_binds])
27
+
28
+ binds = []
29
+ payload[:binds].each_with_index do |attr, i|
30
+ attribute_name = if attr.respond_to?(:name)
31
+ attr.name
32
+ elsif attr.respond_to?(:[]) && attr[i].respond_to?(:name)
33
+ attr[i].name
34
+ else
35
+ nil
36
+ end
37
+
38
+ filtered_params = filter(attribute_name, casted_params[i])
39
+
40
+ binds << render_bind(attr, filtered_params)
41
+ end
42
+ binds = binds.inspect
43
+ binds.prepend(" ")
44
+ end
45
+
46
+ Debugbar::Tracker.add_query({
47
+ id: event.transaction_id,
48
+ title: title,
49
+ name: payload[:name],
50
+ sql: sql,
51
+ cached: payload[:cached].present?,
52
+ async: payload[:async],
53
+ duration: event.duration.round(1),
54
+ lock_wait: payload[:lock_wait]&.round(1),
55
+ binds: binds,
56
+ source: query_source_location&.split(":in"),
57
+ })
58
+ end
59
+
60
+ def query_source_location
61
+ backtrace_cleaner.clean(caller(3))[0]
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,30 @@
1
+ module Debugbar
2
+ class ActiveSupportEventSubscriber
3
+ class << self
4
+ def cache(event)
5
+ evt = event.payload
6
+ evt[:name] = event.name
7
+ evt[:transaction_id] = event.transaction_id
8
+ evt[:time] = Time.at(event.time).strftime(Debugbar::TIME_FORMAT)
9
+ evt[:label] = case event.name
10
+ when "cache_read.active_support"
11
+ "read"
12
+ when "cache_generate.active_support"
13
+ "generate"
14
+ when "cache_fetch_hit.active_support"
15
+ "fetch hit"
16
+ when "cache_write.active_support"
17
+ "write"
18
+ when "cache_delete.active_support"
19
+ "delete"
20
+ when "cache_exist?.active_support"
21
+ "exist?"
22
+ else
23
+ "unknown"
24
+ end
25
+
26
+ Debugbar::Tracker.add_cache evt
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Debugbar
4
+ VERSION = "0.1.0"
5
+ end
data/lib/debugbar.rb CHANGED
@@ -1,8 +1,89 @@
1
- require 'pathname'
2
- require 'debugbar/engine' if defined?(Rails) && Rails::VERSION::MAJOR >= 3
1
+ # frozen_string_literal: true
3
2
 
4
- module DebugBar
5
- def self.root
6
- Pathname.new(File.join(File.dirname(__FILE__), ".."))
3
+ module Debugbar
4
+ autoload :VERSION, "debugbar/version"
5
+ autoload :Current, "debugbar/current"
6
+ autoload :Request, "debugbar/request"
7
+ autoload :RequestBuffer, "debugbar/buffers/request_buffer"
8
+ autoload :SimpleLogger, "debugbar/loggers/simple_logger"
9
+
10
+ TIME_FORMAT = "%H:%M:%S.%L"
11
+
12
+ module Tracker
13
+ class << self
14
+ SETTERS = %i[request response headers meta].freeze
15
+ METHODS = %i[inc_model add_query add_job add_cache add_log].freeze
16
+
17
+ SETTERS.each do |m|
18
+ define_method("#{m}=") do |val|
19
+ if Current.request.nil?
20
+ # TODO: Much, much better logging needed
21
+ puts "The current request is not set yet. Was trying to set #{m}=[#{val.class.name}]."
22
+ else
23
+ Current.request.send("#{m}=", val)
24
+ end
25
+ end
26
+ end
27
+
28
+ METHODS.each do |m|
29
+ define_method(m) do |*args, &block|
30
+ if Current.request
31
+ return Current.request.send(m, *args, &block)
32
+ end
33
+
34
+ if Current.request.nil? && ENV["DEBUGBAR_VERBOSE_MODE"] == "true"
35
+ puts "The current request is not set yet. Was trying to call #{m}(#{args.map{ _1.class.name}.join(',')})."
36
+ pp args
37
+ nil
38
+ end
39
+ end
40
+ end
41
+
42
+ def msg(msg, *extra)
43
+ if Current.request.nil?
44
+ puts "The current request is not set yet. Printing to STDOUT instead."
45
+ puts msg, extra
46
+ else
47
+ Current.request.add_msg(msg, extra)
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ include Tracker
54
+
55
+ class << self
56
+ def config
57
+ @config ||= Config.new(enabled: true)
58
+ end
59
+
60
+ def configure
61
+ yield config
62
+ end
63
+
64
+ def connect!
65
+ @connected = true
66
+ end
67
+
68
+ def disconnect!
69
+ @connected = false
70
+ end
71
+
72
+ def connected?
73
+ @connected
74
+ end
75
+
76
+ def js_file=(js_file)
77
+ @js_file = js_file
78
+ end
79
+ def js_file
80
+ @js_file
81
+ end
82
+
83
+ def msg(msg, *extra)
84
+ Tracker.msg(msg, *extra)
85
+ end
7
86
  end
8
87
  end
88
+
89
+ require 'debugbar/engine'
data/package-lock.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "debugbar_rb",
3
+ "lockfileVersion": 3,
4
+ "requires": true,
5
+ "packages": {
6
+ "": {
7
+ "dependencies": {
8
+ "prettier": "^3.1.0",
9
+ "vue-shadow-dom": "^4.2.0"
10
+ },
11
+ "devDependencies": {
12
+ "@types/node": "^20.10.4"
13
+ }
14
+ },
15
+ "node_modules/@types/node": {
16
+ "version": "20.10.4",
17
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz",
18
+ "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==",
19
+ "dev": true,
20
+ "dependencies": {
21
+ "undici-types": "~5.26.4"
22
+ }
23
+ },
24
+ "node_modules/prettier": {
25
+ "version": "3.1.0",
26
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
27
+ "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
28
+ "bin": {
29
+ "prettier": "bin/prettier.cjs"
30
+ },
31
+ "engines": {
32
+ "node": ">=14"
33
+ },
34
+ "funding": {
35
+ "url": "https://github.com/prettier/prettier?sponsor=1"
36
+ }
37
+ },
38
+ "node_modules/undici-types": {
39
+ "version": "5.26.5",
40
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
41
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
42
+ "dev": true
43
+ },
44
+ "node_modules/vue-shadow-dom": {
45
+ "version": "4.2.0",
46
+ "resolved": "https://registry.npmjs.org/vue-shadow-dom/-/vue-shadow-dom-4.2.0.tgz",
47
+ "integrity": "sha512-lguI064rT2HT/dxqSmXtz860KOvCq+W3nU1jMqroTmX3K1H46q22BMR4emh/Ld3ozy35XJKOaNGcr6mkJ/t/yg=="
48
+ }
49
+ }
50
+ }
data/package.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "dependencies": {
3
+ "prettier": "^3.1.0"
4
+ }
5
+ }
data/sig/debugbar.rbs ADDED
@@ -0,0 +1,4 @@
1
+ module Debugbar
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
metadata CHANGED
@@ -1,59 +1,155 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: debugbar
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
6
5
  platform: ruby
7
- authors:
8
- - Andy Jeffries
9
- autorequire:
10
- bindir: bin
6
+ authors:
7
+ - Julien Bourdeau
8
+ autorequire:
9
+ bindir: exe
11
10
  cert_chain: []
12
-
13
- date: 2011-03-17 00:00:00 +00:00
14
- default_executable:
15
- dependencies: []
16
-
17
- description: Debugbar gem for Rails 3
18
- email: andy@andyjeffries.co.uk
11
+ date: 2024-02-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: actioncable
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Get a better understanding of your application performance and behavior
42
+ (SQL queries, jobs, cache, routes, logs, etc)
43
+ email:
44
+ - julien@debugbar.dev
19
45
  executables: []
20
-
21
46
  extensions: []
22
-
23
- extra_rdoc_files:
24
- - README.textile
25
- files:
47
+ extra_rdoc_files: []
48
+ files:
49
+ - ".prettierrc"
50
+ - LICENSE.txt
51
+ - README.md
52
+ - Rakefile
53
+ - app/channels/debugbar/debugbar_channel.rb
54
+ - app/controllers/debugbar/application_controller.rb
55
+ - app/controllers/debugbar/assets_controller.rb
56
+ - app/helpers/debugbar/tag_helpers.rb
57
+ - app/models/debugbar/application_record.rb
58
+ - client/.gitignore
59
+ - client/README.md
60
+ - client/dist/.vite/manifest.json
61
+ - client/dist/assets/debugbar-u5mP-5-z.js
62
+ - client/dist/assets/ruby-logo-kn_8RniZ.svg
63
+ - client/index.html
64
+ - client/package-lock.json
65
+ - client/package.json
66
+ - client/postcss.config.js
67
+ - client/src/App.vue
68
+ - client/src/AppDemo.vue
69
+ - client/src/AppDev.vue
70
+ - client/src/Debugbar.vue
71
+ - client/src/assets/rails-logo.svg
72
+ - client/src/assets/ruby-logo.svg
73
+ - client/src/components/TabButton.vue
74
+ - client/src/components/panels/CachePanel.vue
75
+ - client/src/components/panels/JobsPanel.vue
76
+ - client/src/components/panels/JsonPanel.vue
77
+ - client/src/components/panels/LogsPanel.vue
78
+ - client/src/components/panels/MessagesPanel.vue
79
+ - client/src/components/panels/ModelsPanel.vue
80
+ - client/src/components/panels/Panel.vue
81
+ - client/src/components/panels/RequestPanel.vue
82
+ - client/src/components/queries/QueriesPanel.vue
83
+ - client/src/components/queries/QueryItem.vue
84
+ - client/src/components/ui/Foldable.vue
85
+ - client/src/components/ui/KeyValueTable.vue
86
+ - client/src/components/ui/Row.vue
87
+ - client/src/components/ui/logo-ruby.vue
88
+ - client/src/demo.ts
89
+ - client/src/dev.ts
90
+ - client/src/main.ts
91
+ - client/src/models/Config.ts
92
+ - client/src/models/Request.ts
93
+ - client/src/stores/RequestsStore.ts
94
+ - client/src/stores/configStore.ts
95
+ - client/src/style.css
96
+ - client/src/types.d.ts
97
+ - client/src/vite-env.d.ts
98
+ - client/tailwind.config.js
99
+ - client/tsconfig.json
100
+ - client/tsconfig.node.json
101
+ - client/vite.config.ts
102
+ - config/routes.rb
103
+ - debugbar.gemspec
104
+ - fixtures/requests/1706607114--demo_post_list.json
105
+ - fixtures/requests/1706607120--api_jobs.json
106
+ - fixtures/requests/1706607123--api_jobs.json
107
+ - fixtures/requests/1706607133--demo_slow_page.json
108
+ - fixtures/requests/1706607136--demo_post.json
109
+ - fixtures/requests/1706607136--demo_random_post.json
110
+ - fixtures/requests/1706607141--api_errors.json
26
111
  - lib/debugbar.rb
112
+ - lib/debugbar/buffers/memory_buffer.rb
113
+ - lib/debugbar/buffers/null_buffer.rb
114
+ - lib/debugbar/buffers/request_buffer.rb
115
+ - lib/debugbar/config.rb
116
+ - lib/debugbar/current.rb
27
117
  - lib/debugbar/engine.rb
28
- - lib/debugbar/railties/tasks.rake
29
- - README.textile
30
- has_rdoc: true
31
- homepage: http://andyjeffries.co.uk/
32
- licenses: []
33
-
34
- post_install_message:
35
- rdoc_options:
36
- - --charset=UTF-8
37
- require_paths:
118
+ - lib/debugbar/loggers/simple_logger.rb
119
+ - lib/debugbar/middlewares/track_current_request.rb
120
+ - lib/debugbar/request.rb
121
+ - lib/debugbar/subscribers/action_controller.rb
122
+ - lib/debugbar/subscribers/active_job.rb
123
+ - lib/debugbar/subscribers/active_record.rb
124
+ - lib/debugbar/subscribers/active_support.rb
125
+ - lib/debugbar/version.rb
126
+ - package-lock.json
127
+ - package.json
128
+ - sig/debugbar.rbs
129
+ homepage: https://debugbar.dev
130
+ licenses:
131
+ - MIT
132
+ metadata:
133
+ homepage_uri: https://debugbar.dev
134
+ source_code_uri: https://github.com/julienbourdeau/debugbar
135
+ changelog_uri: https://debugbar.dev/changelog/
136
+ post_install_message:
137
+ rdoc_options: []
138
+ require_paths:
38
139
  - lib
39
- required_ruby_version: !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
140
+ required_ruby_version: !ruby/object:Gem::Requirement
141
+ requirements:
42
142
  - - ">="
43
- - !ruby/object:Gem::Version
44
- version: "0"
45
- required_rubygems_version: !ruby/object:Gem::Requirement
46
- none: false
47
- requirements:
143
+ - !ruby/object:Gem::Version
144
+ version: 2.6.0
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
48
147
  - - ">="
49
- - !ruby/object:Gem::Version
50
- version: "0"
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
51
150
  requirements: []
52
-
53
- rubyforge_project:
54
- rubygems_version: 1.6.1
55
- signing_key:
56
- specification_version: 3
57
- summary: Debugbar gem for Rails 3
151
+ rubygems_version: 3.4.20
152
+ signing_key:
153
+ specification_version: 4
154
+ summary: Powerful devtools for Ruby on Rails
58
155
  test_files: []
59
-
data/README.textile DELETED
@@ -1,18 +0,0 @@
1
- h1. Debug Bar Gem v0.0.1
2
-
3
- h2. Installation
4
-
5
- Add the following to your Gemfile:
6
-
7
- <pre><code>gem 'debugbar'</code></pre>
8
-
9
- And restart your application with:
10
-
11
- <pre><code>bundle install
12
- touch tmp/restart.txt</code></pre>
13
-
14
- h2. Introduction
15
-
16
- DebugBar provides a Django/Symfony like Debug Bar for Ruby on Rails 3.
17
-
18
- This project is only in it's infancy...
@@ -1 +0,0 @@
1
- # Put your custom rake tasks here