diff --git a/.claude/settings.local.json b/.claude/settings.local.json index e9285fe..1c458de 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -2,7 +2,9 @@ "permissions": { "allow": [ "Bash(git add *)", - "Bash(git commit -m ' *)" + "Bash(git commit -m ' *)", + "Bash(git push *)", + "Bash(bundle exec *)" ] } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 03742ef..57e3f2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Rails engine scaffold with isolated namespace `SolidQueueDashboard` -- Configurable authentication hook (`SolidQueueDashboard.authenticate`) +- Rails engine scaffold with isolated namespace `SolidQueueWeb` +- Configurable authentication hook (`SolidQueueWeb.authenticate`) - Read-only dashboard with stat cards for ready, scheduled, running, blocked, and failed jobs - Queues index page showing all queues sorted by name - Jobs index with status filter tabs (ready, scheduled, claimed, blocked, failed) and per-queue filtering @@ -25,5 +25,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - CI workflow with lint (RuboCop) and test (RSpec) matrix across Ruby 3.3, 3.4, and 4.0 - `bin/release` script for versioned gem releases -[Unreleased]: https://github.com/eclectic-coding/solid_queue_dashboard/compare/v0.1.0...HEAD -[0.1.0]: https://github.com/eclectic-coding/solid_queue_dashboard/releases/tag/v0.1.0 +[Unreleased]: https://github.com/eclectic-coding/solid_queue_web/compare/v0.1.0...HEAD +[0.1.0]: https://github.com/eclectic-coding/solid_queue_web/releases/tag/v0.1.0 diff --git a/Gemfile b/Gemfile index a154e38..9cd74f3 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source "https://rubygems.org" -# Specify your gem's dependencies in solid_queue_dashboard.gemspec. +# Specify your gem's dependencies in solid_queue_web.gemspec. gemspec gem "puma" diff --git a/Gemfile.lock b/Gemfile.lock index 73a6841..adc6ec4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - solid_queue_dashboard (0.1.0) + solid_queue_web (0.1.0) rails (>= 8.1.3) solid_queue (>= 1.0) @@ -296,7 +296,7 @@ DEPENDENCIES rspec-rails rubocop-rails-omakase simplecov - solid_queue_dashboard! + solid_queue_web! sqlite3 CHECKSUMS @@ -386,7 +386,7 @@ CHECKSUMS simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246 simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428 solid_queue (1.4.0) sha256=e6a18d196f0b27cb6e3c77c5b31258b05fb634f8ed64fb1866ed164047216c2a - solid_queue_dashboard (0.1.0) + solid_queue_web (0.1.0) sqlite3 (2.9.4-aarch64-linux-gnu) sha256=ecabed721e6eaad54601d2685f09029d90025efc8d931040dc89cb3f8a2080ec sqlite3 (2.9.4-arm64-darwin) sha256=1d5aad413a815d236e96d43f05a1acc600b6cd086800770342a3f9c2877499ff sqlite3 (2.9.4-x86_64-linux-gnu) sha256=537a3eda71b1df1336d0055cbebe55a7317c34870c192c7b6b9d8d0be6871847 diff --git a/README.md b/README.md index 4066d24..cd0d450 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# SolidQueueDashboard +# SolidQueueWeb -[](https://rubygems.org/gems/solid_queue_dashboard) +[](https://rubygems.org/gems/solid_queue_web) A read-only Rails engine that mounts a monitoring dashboard for [Solid Queue](https://github.com/rails/solid_queue). View queues, inspect jobs by status, and browse failed executions — all without leaving your app. @@ -17,7 +17,7 @@ A read-only Rails engine that mounts a monitoring dashboard for [Solid Queue](ht Add to your application's Gemfile: ```ruby -gem "solid_queue_dashboard" +gem "solid_queue_web" ``` Then run: @@ -31,17 +31,17 @@ bundle install Add to your `config/routes.rb`: ```ruby -mount SolidQueueDashboard::Engine, at: "/jobs" +mount SolidQueueWeb::Engine, at: "/jobs" ``` The dashboard will be available at `/jobs`. ## Authentication -The engine ships with no authentication by default. Add a block to an initializer (e.g. `config/initializers/solid_queue_dashboard.rb`) to protect the dashboard: +The engine ships with no authentication by default. Add a block to an initializer (e.g. `config/initializers/solid_queue_web.rb`) to protect the dashboard: ```ruby -SolidQueueDashboard.authenticate do +SolidQueueWeb.authenticate do # Called in the context of ApplicationController — use any helper available there. # Return a truthy value to allow access, falsy to deny (triggers HTTP Basic prompt). current_user&.admin? @@ -58,7 +58,7 @@ HTTP Basic authentication is used as a fallback when the block returns falsy. ## Contributing -Bug reports and pull requests are welcome on [GitHub](https://github.com/eclectic-coding/solid_queue_dashboard). +Bug reports and pull requests are welcome on [GitHub](https://github.com/eclectic-coding/solid_queue_web). ## License diff --git a/app/assets/images/solid_queue_dashboard/.keep b/app/assets/images/solid_queue_web/.keep similarity index 100% rename from app/assets/images/solid_queue_dashboard/.keep rename to app/assets/images/solid_queue_web/.keep diff --git a/app/assets/stylesheets/solid_queue_dashboard/application.css b/app/assets/stylesheets/solid_queue_web/application.css similarity index 100% rename from app/assets/stylesheets/solid_queue_dashboard/application.css rename to app/assets/stylesheets/solid_queue_web/application.css diff --git a/app/controllers/solid_queue_dashboard/application_controller.rb b/app/controllers/solid_queue_web/application_controller.rb similarity index 76% rename from app/controllers/solid_queue_dashboard/application_controller.rb rename to app/controllers/solid_queue_web/application_controller.rb index bb3bf52..9f93815 100644 --- a/app/controllers/solid_queue_dashboard/application_controller.rb +++ b/app/controllers/solid_queue_web/application_controller.rb @@ -1,11 +1,11 @@ -module SolidQueueDashboard +module SolidQueueWeb class ApplicationController < ActionController::Base before_action :authenticate! private def authenticate! - return unless (auth = SolidQueueDashboard.authenticate) + return unless (auth = SolidQueueWeb.authenticate) instance_exec(&auth) || request_basic_auth end diff --git a/app/controllers/solid_queue_dashboard/dashboard_controller.rb b/app/controllers/solid_queue_web/dashboard_controller.rb similarity index 94% rename from app/controllers/solid_queue_dashboard/dashboard_controller.rb rename to app/controllers/solid_queue_web/dashboard_controller.rb index 88f1fa6..2ed86e4 100644 --- a/app/controllers/solid_queue_dashboard/dashboard_controller.rb +++ b/app/controllers/solid_queue_web/dashboard_controller.rb @@ -1,4 +1,4 @@ -module SolidQueueDashboard +module SolidQueueWeb class DashboardController < ApplicationController def index @stats = { diff --git a/app/controllers/solid_queue_dashboard/failed_jobs_controller.rb b/app/controllers/solid_queue_web/failed_jobs_controller.rb similarity index 88% rename from app/controllers/solid_queue_dashboard/failed_jobs_controller.rb rename to app/controllers/solid_queue_web/failed_jobs_controller.rb index cc13a40..e95cc42 100644 --- a/app/controllers/solid_queue_dashboard/failed_jobs_controller.rb +++ b/app/controllers/solid_queue_web/failed_jobs_controller.rb @@ -1,4 +1,4 @@ -module SolidQueueDashboard +module SolidQueueWeb class FailedJobsController < ApplicationController def index @failed_jobs = SolidQueue::FailedExecution diff --git a/app/controllers/solid_queue_dashboard/jobs_controller.rb b/app/controllers/solid_queue_web/jobs_controller.rb similarity index 96% rename from app/controllers/solid_queue_dashboard/jobs_controller.rb rename to app/controllers/solid_queue_web/jobs_controller.rb index 55a97a6..a67f71f 100644 --- a/app/controllers/solid_queue_dashboard/jobs_controller.rb +++ b/app/controllers/solid_queue_web/jobs_controller.rb @@ -1,4 +1,4 @@ -module SolidQueueDashboard +module SolidQueueWeb class JobsController < ApplicationController STATUSES = %w[ready scheduled claimed blocked failed].freeze diff --git a/app/controllers/solid_queue_dashboard/queues_controller.rb b/app/controllers/solid_queue_web/queues_controller.rb similarity index 83% rename from app/controllers/solid_queue_dashboard/queues_controller.rb rename to app/controllers/solid_queue_web/queues_controller.rb index ca522e4..6f5496c 100644 --- a/app/controllers/solid_queue_dashboard/queues_controller.rb +++ b/app/controllers/solid_queue_web/queues_controller.rb @@ -1,4 +1,4 @@ -module SolidQueueDashboard +module SolidQueueWeb class QueuesController < ApplicationController def index @queues = SolidQueue::Queue.all.sort_by(&:name) diff --git a/app/helpers/solid_queue_dashboard/application_helper.rb b/app/helpers/solid_queue_web/application_helper.rb similarity index 57% rename from app/helpers/solid_queue_dashboard/application_helper.rb rename to app/helpers/solid_queue_web/application_helper.rb index d522058..71f559b 100644 --- a/app/helpers/solid_queue_dashboard/application_helper.rb +++ b/app/helpers/solid_queue_web/application_helper.rb @@ -1,4 +1,4 @@ -module SolidQueueDashboard +module SolidQueueWeb module ApplicationHelper end end diff --git a/app/jobs/solid_queue_dashboard/application_job.rb b/app/jobs/solid_queue_web/application_job.rb similarity index 65% rename from app/jobs/solid_queue_dashboard/application_job.rb rename to app/jobs/solid_queue_web/application_job.rb index d47cf07..071f6ad 100644 --- a/app/jobs/solid_queue_dashboard/application_job.rb +++ b/app/jobs/solid_queue_web/application_job.rb @@ -1,4 +1,4 @@ -module SolidQueueDashboard +module SolidQueueWeb class ApplicationJob < ActiveJob::Base end end diff --git a/app/models/solid_queue_dashboard/application_record.rb b/app/models/solid_queue_web/application_record.rb similarity index 76% rename from app/models/solid_queue_dashboard/application_record.rb rename to app/models/solid_queue_web/application_record.rb index 17521fa..a41077f 100644 --- a/app/models/solid_queue_dashboard/application_record.rb +++ b/app/models/solid_queue_web/application_record.rb @@ -1,4 +1,4 @@ -module SolidQueueDashboard +module SolidQueueWeb class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end diff --git a/app/views/layouts/solid_queue_dashboard/application.html.erb b/app/views/layouts/solid_queue_web/application.html.erb similarity index 93% rename from app/views/layouts/solid_queue_dashboard/application.html.erb rename to app/views/layouts/solid_queue_web/application.html.erb index da2b265..2a98fd1 100644 --- a/app/views/layouts/solid_queue_dashboard/application.html.erb +++ b/app/views/layouts/solid_queue_web/application.html.erb @@ -6,7 +6,7 @@