diff --git a/.github/workflows/documentation-coverage.yaml b/.github/workflows/documentation-coverage.yaml index b3bac9a..54ffa73 100644 --- a/.github/workflows/documentation-coverage.yaml +++ b/.github/workflows/documentation-coverage.yaml @@ -14,10 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: ruby/setup-ruby@v1 with: - ruby-version: "3.3" + ruby-version: "3.4" bundler-cache: true - name: Validate coverage diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index f5f553a..5ea21e4 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -25,11 +25,11 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: ruby/setup-ruby@v1 with: - ruby-version: "3.3" + ruby-version: "3.4" bundler-cache: true - name: Installing packages @@ -40,7 +40,7 @@ jobs: run: bundle exec bake utopia:project:static --force no - name: Upload documentation artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v4 with: path: docs diff --git a/.github/workflows/rubocop.yaml b/.github/workflows/rubocop.yaml index 287c06d..ceaa1a8 100644 --- a/.github/workflows/rubocop.yaml +++ b/.github/workflows/rubocop.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: ruby/setup-ruby@v1 with: ruby-version: ruby diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index f9da2ff..cc88a02 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -22,9 +22,10 @@ jobs: ruby: - "3.3" + - "3.4" steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} @@ -34,7 +35,7 @@ jobs: timeout-minutes: 5 run: bundle exec bake test - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v5 with: name: coverage-${{matrix.os}}-${{matrix.ruby}} path: .covered.db @@ -44,13 +45,13 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: ruby/setup-ruby@v1 with: - ruby-version: "3.3" + ruby-version: "3.4" bundler-cache: true - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v5 - name: Validate coverage timeout-minutes: 5 diff --git a/.github/workflows/test-external.yaml b/.github/workflows/test-external.yaml index 21898f5..847d901 100644 --- a/.github/workflows/test-external.yaml +++ b/.github/workflows/test-external.yaml @@ -20,12 +20,10 @@ jobs: - macos ruby: - - "3.1" - - "3.2" - - "3.3" + - "3.4" steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 641985e..309b7da 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -21,13 +21,12 @@ jobs: - macos ruby: - - "3.1" - - "3.2" - "3.3" + - "3.4" gemfile: - - gems/rails-v6.rb - gems/rails-v7.rb + - gems/rails-v8.rb experimental: [false] @@ -46,7 +45,7 @@ jobs: BUNDLE_GEMFILE: ${{matrix.gemfile}} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} diff --git a/console-adapter-rails.gemspec b/console-adapter-rails.gemspec index e0d203f..1b09309 100644 --- a/console-adapter-rails.gemspec +++ b/console-adapter-rails.gemspec @@ -26,5 +26,5 @@ Gem::Specification.new do |spec| spec.add_dependency "console", "~> 1.21" spec.add_dependency "fiber-storage", "~> 1.0" - spec.add_dependency "rails", ">= 6.1" + spec.add_dependency "rails", ">= 7.0" end diff --git a/gems.rb b/gems.rb index 464bae2..b2550a9 100644 --- a/gems.rb +++ b/gems.rb @@ -23,5 +23,5 @@ gem "bake-test" gem "bake-test-external" - gem "sqlite3", "~> 1.4" + gem "sqlite3", ">= 1.4" end diff --git a/gems/rails-v6.rb b/gems/rails-v8.rb similarity index 86% rename from gems/rails-v6.rb rename to gems/rails-v8.rb index f761827..0bdf539 100644 --- a/gems/rails-v6.rb +++ b/gems/rails-v8.rb @@ -5,4 +5,4 @@ eval_gemfile('../gems.rb') -gem 'rails', '~> 6.0' +gem 'rails', '~> 8.0' diff --git a/lib/console/adapter/rails/railtie.rb b/lib/console/adapter/rails/railtie.rb index 01c7f0c..5e7c684 100644 --- a/lib/console/adapter/rails/railtie.rb +++ b/lib/console/adapter/rails/railtie.rb @@ -15,23 +15,31 @@ class Railtie < ::Rails::Railtie initializer 'console.adapter.rails', before: :initialize_logger do |app| # 1. Set up Console to be used as the Rails logger Logger.apply!(configuration: app.config) - + # 2. Remove the Rails::Rack::Logger middleware as it also doubles up on request logs app.middleware.delete ::Rails::Rack::Logger end - + # 3. Remove existing log subscribers for ActionController and ActionView config.after_initialize do - ::ActionController::LogSubscriber.detach_from :action_controller - + if ::ActionController::LogSubscriber < ::ActiveSupport::LogSubscriber + ::ActionController::LogSubscriber.detach_from :action_controller + else + ::ActiveSupport.event_reporter.unsubscribe(::ActionController::LogSubscriber) + end + # Silence the default action view logs, e.g. "Rendering text template" etc - ::ActionView::LogSubscriber.detach_from :action_view + if ::ActionView::LogSubscriber < ::ActiveSupport::LogSubscriber + ::ActionView::LogSubscriber.detach_from :action_view + else + ::ActiveSupport.event_reporter.unsubscribe(::ActionView::LogSubscriber) + end end - + config.after_initialize do # 4. Add a new log subscriber for ActionController ActionController.apply! - + # 5. (optionally) Add a new log subscriber for ActiveRecord # ActiveRecord.apply! end