solidstats 3.0.0.beta.1 → 3.0.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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +33 -0
  3. data/app/assets/javascripts/solidstats/application.js +257 -0
  4. data/app/assets/javascripts/solidstats/dashboard.js +179 -0
  5. data/app/assets/stylesheets/solidstats/application.css +6 -1
  6. data/app/controllers/solidstats/dashboard_controller.rb +28 -35
  7. data/app/controllers/solidstats/gem_metadata_controller.rb +12 -0
  8. data/app/controllers/solidstats/logs_controller.rb +12 -12
  9. data/app/controllers/solidstats/performance_controller.rb +2 -2
  10. data/app/controllers/solidstats/productivity_controller.rb +10 -10
  11. data/app/controllers/solidstats/quality_controller.rb +32 -32
  12. data/app/controllers/solidstats/securities_controller.rb +7 -7
  13. data/app/helpers/solidstats/application_helper.rb +10 -10
  14. data/app/helpers/solidstats/performance_helper.rb +32 -32
  15. data/app/helpers/solidstats/productivity_helper.rb +20 -20
  16. data/app/services/solidstats/bundler_audit_service.rb +13 -13
  17. data/app/services/solidstats/coverage_compass_service.rb +59 -59
  18. data/app/services/solidstats/load_lens_service.rb +90 -70
  19. data/app/services/solidstats/log_size_monitor_service.rb +59 -59
  20. data/app/services/solidstats/my_todo_service.rb +68 -68
  21. data/app/services/solidstats/style_patrol_service.rb +44 -44
  22. data/app/views/layouts/solidstats/application.html.erb +1 -1
  23. data/app/views/solidstats/shared/_quick_actions.html.erb +1 -1
  24. data/config/routes.rb +4 -4
  25. data/lib/generators/solidstats/clean/clean_generator.rb +24 -0
  26. data/lib/generators/solidstats/clean/templates/README +8 -0
  27. data/lib/generators/solidstats/install/install_generator.rb +32 -17
  28. data/lib/generators/solidstats/templates/initializer.rb +112 -0
  29. data/lib/solidstats/asset_compatibility.rb +238 -0
  30. data/lib/solidstats/asset_manifest.rb +205 -0
  31. data/lib/solidstats/engine.rb +49 -9
  32. data/lib/solidstats/version.rb +1 -1
  33. data/lib/solidstats.rb +24 -11
  34. data/lib/tasks/solidstats.rake +67 -0
  35. data/lib/tasks/solidstats_performance.rake +6 -29
  36. data/lib/tasks/solidstats_tasks.rake +16 -0
  37. metadata +14 -5
  38. data/lib/tasks/solidstats_install.rake +0 -13
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ namespace :solidstats do
6
+ desc "Install Solidstats in your Rails application"
7
+ task install: :environment do
8
+ puts "šŸš€ Running Solidstats installer..."
9
+ Rails::Generators.invoke("solidstats:install")
10
+ end
11
+
12
+ namespace :prime do
13
+ desc "Prime data for all Solidstats services"
14
+ task all: [
15
+ :log_size,
16
+ :bundler_audit,
17
+ :todos,
18
+ :style_patrol,
19
+ :coverage,
20
+ :load_lens
21
+ ] do
22
+ puts "āœ… All Solidstats data has been primed."
23
+ end
24
+
25
+ desc "Prime data for LogSizeMonitorService"
26
+ task log_size: :environment do
27
+ puts "Priming data for Log Size Monitor..."
28
+ Solidstats::LogSizeMonitorService.scan_and_cache
29
+ puts "-> Log Size Monitor data primed."
30
+ end
31
+
32
+ desc "Prime data for BundlerAuditService"
33
+ task bundler_audit: :environment do
34
+ puts "Priming data for Bundler Audit..."
35
+ Solidstats::BundlerAuditService.scan_and_cache
36
+ puts "-> Bundler Audit data primed."
37
+ end
38
+
39
+ desc "Prime data for MyTodoService"
40
+ task todos: :environment do
41
+ puts "Priming data for My Todos..."
42
+ Solidstats::MyTodoService.collect_todos
43
+ puts "-> My Todos data primed."
44
+ end
45
+
46
+ desc "Prime data for StylePatrolService"
47
+ task style_patrol: :environment do
48
+ puts "Priming data for Style Patrol..."
49
+ Solidstats::StylePatrolService.refresh_cache
50
+ puts "-> Style Patrol data primed."
51
+ end
52
+
53
+ desc "Prime data for CoverageCompassService"
54
+ task coverage: :environment do
55
+ puts "Priming data for Coverage Compass..."
56
+ Solidstats::CoverageCompassService.refresh_cache
57
+ puts "-> Coverage Compass data primed."
58
+ end
59
+
60
+ desc "Prime data for LoadLensService"
61
+ task load_lens: :environment do
62
+ puts "Priming data for Load Lens..."
63
+ Solidstats::LoadLensService.scan_and_cache
64
+ puts "-> Load Lens data primed."
65
+ end
66
+ end
67
+ end
@@ -5,7 +5,7 @@ namespace :solidstats do
5
5
  desc "Parse development log and extract LoadLens performance metrics"
6
6
  task parse_logs: :environment do
7
7
  result = Solidstats::LoadLensService.parse_log_and_save
8
-
8
+
9
9
  if result[:success]
10
10
  puts "Successfully parsed #{result[:processed]} requests for LoadLens"
11
11
  else
@@ -25,7 +25,7 @@ namespace :solidstats do
25
25
  task summary: :environment do
26
26
  data = Solidstats::LoadLensService.get_performance_data
27
27
  summary = data[:summary]
28
-
28
+
29
29
  puts "\n=== LoadLens Performance Summary ==="
30
30
  puts "Total Requests: #{summary[:total_requests]}"
31
31
  puts "Average Response Time: #{summary[:avg_response_time]}ms"
@@ -40,11 +40,11 @@ namespace :solidstats do
40
40
 
41
41
  desc "Clean old LoadLens performance data files"
42
42
  task clean_old_data: :environment do
43
- data_dir = Rails.root.join('tmp', 'solidstats')
43
+ data_dir = Rails.root.join("tmp", "solidstats")
44
44
  cutoff_date = 7.days.ago.to_date
45
45
  deleted_count = 0
46
-
47
- Dir.glob(data_dir.join('perf_*.json')).each do |file|
46
+
47
+ Dir.glob(data_dir.join("perf_*.json")).each do |file|
48
48
  if match = File.basename(file).match(/perf_(\d{4}-\d{2}-\d{2})\.json/)
49
49
  file_date = Date.parse(match[1])
50
50
  if file_date < cutoff_date
@@ -54,31 +54,8 @@ namespace :solidstats do
54
54
  end
55
55
  end
56
56
  end
57
-
58
- puts "Cleaned #{deleted_count} old LoadLens performance data files"
59
- end
60
- end
61
-
62
- # Keep performance namespace for backward compatibility
63
- namespace :performance do
64
- desc "Parse development log and extract performance metrics (alias for load_lens:parse_logs)"
65
- task parse_logs: :environment do
66
- Rake::Task["solidstats:load_lens:parse_logs"].invoke
67
- end
68
57
 
69
- desc "Refresh performance data cache (alias for load_lens:refresh)"
70
- task refresh: :environment do
71
- Rake::Task["solidstats:load_lens:refresh"].invoke
72
- end
73
-
74
- desc "Show performance data summary (alias for load_lens:summary)"
75
- task summary: :environment do
76
- Rake::Task["solidstats:load_lens:summary"].invoke
77
- end
78
-
79
- desc "Clean old performance data files (alias for load_lens:clean_old_data)"
80
- task clean_old_data: :environment do
81
- Rake::Task["solidstats:load_lens:clean_old_data"].invoke
58
+ puts "Cleaned #{deleted_count} old LoadLens performance data files"
82
59
  end
83
60
  end
84
61
  end
@@ -0,0 +1,16 @@
1
+ require "fileutils"
2
+
3
+ namespace :solidstats do
4
+ desc "Clean up all JSON files and caches generated by Solidstats"
5
+ task :clean do
6
+ solidstats_dir = Rails.root.join("solidstats")
7
+
8
+ if Dir.exist?(solidstats_dir)
9
+ puts "Removing Solidstats data directory: #{solidstats_dir}"
10
+ FileUtils.rm_rf(solidstats_dir)
11
+ puts "Solidstats data cleaned."
12
+ else
13
+ puts "Solidstats data directory not found, nothing to clean."
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidstats
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.beta.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - MezbahAlam
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-17 00:00:00.000000000 Z
11
+ date: 2025-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -64,10 +64,13 @@ files:
64
64
  - MIT-LICENSE
65
65
  - README.md
66
66
  - Rakefile
67
+ - app/assets/javascripts/solidstats/application.js
68
+ - app/assets/javascripts/solidstats/dashboard.js
67
69
  - app/assets/stylesheets/solidstats/application.css
68
70
  - app/assets/stylesheets/solidstats/dashboard.css
69
71
  - app/controllers/solidstats/application_controller.rb
70
72
  - app/controllers/solidstats/dashboard_controller.rb
73
+ - app/controllers/solidstats/gem_metadata_controller.rb
71
74
  - app/controllers/solidstats/logs_controller.rb
72
75
  - app/controllers/solidstats/performance_controller.rb
73
76
  - app/controllers/solidstats/productivity_controller.rb
@@ -98,14 +101,20 @@ files:
98
101
  - app/views/solidstats/shared/_dashboard_card.html.erb
99
102
  - app/views/solidstats/shared/_quick_actions.html.erb
100
103
  - config/routes.rb
104
+ - lib/generators/solidstats/clean/clean_generator.rb
105
+ - lib/generators/solidstats/clean/templates/README
101
106
  - lib/generators/solidstats/install/install_generator.rb
102
107
  - lib/generators/solidstats/install/templates/README
108
+ - lib/generators/solidstats/templates/initializer.rb
103
109
  - lib/solidstats.rb
110
+ - lib/solidstats/asset_compatibility.rb
111
+ - lib/solidstats/asset_manifest.rb
104
112
  - lib/solidstats/engine.rb
105
113
  - lib/solidstats/version.rb
106
- - lib/tasks/solidstats_install.rake
114
+ - lib/tasks/solidstats.rake
107
115
  - lib/tasks/solidstats_performance.rake
108
116
  - lib/tasks/solidstats_release.rake
117
+ - lib/tasks/solidstats_tasks.rake
109
118
  homepage: https://solidstats.infolily.com
110
119
  licenses:
111
120
  - MIT
@@ -121,9 +130,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
130
  version: 2.7.0
122
131
  required_rubygems_version: !ruby/object:Gem::Requirement
123
132
  requirements:
124
- - - ">"
133
+ - - ">="
125
134
  - !ruby/object:Gem::Version
126
- version: 1.3.1
135
+ version: '0'
127
136
  requirements: []
128
137
  rubygems_version: 3.4.19
129
138
  signing_key:
@@ -1,13 +0,0 @@
1
-
2
- namespace :solidstats do
3
- desc "Install Solidstats into your Rails application"
4
- task :install do
5
- if system "rails g solidstats:install"
6
- puts "\nāœ… Solidstats installation completed successfully!"
7
- puts " Start your Rails server and visit http://localhost:3000/solidstats\n\n"
8
- else
9
- puts "\nāŒ Solidstats installation failed. Please try running manually:"
10
- puts " bundle exec rails generate solidstats:install\n\n"
11
- end
12
- end
13
- end