From 7fb3a9bd456a4780e4ddebd576930f91544e34a1 Mon Sep 17 00:00:00 2001 From: Gil Desmarais Date: Tue, 10 Mar 2026 17:44:58 +0100 Subject: [PATCH 1/2] chore(deps): update ruby deps --- Gemfile.lock | 131 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 94 insertions(+), 37 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8c35868..7c32dfc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,7 +12,7 @@ GIT GIT remote: https://github.com/html2rss/html2rss - revision: 528ba933f7bdbb94372c0286c87082b456aa01c8 + revision: 762a09c15e5def5897b2d08f0e3c11c023cc9b35 branch: master specs: html2rss (0.17.0) @@ -47,36 +47,64 @@ GEM addressable (2.8.9) public_suffix (>= 2.0.2, < 8.0) ast (2.4.3) + async (2.38.0) + console (~> 1.29) + fiber-annotation + io-event (~> 1.11) + metrics (~> 0.12) + traces (~> 0.18) + async-http (0.94.2) + async (>= 2.10.2) + async-pool (~> 0.11) + io-endpoint (~> 0.14) + io-stream (~> 0.6) + metrics (~> 0.12) + protocol-http (~> 0.58) + protocol-http1 (~> 0.36) + protocol-http2 (~> 0.22) + protocol-url (~> 0.2) + traces (~> 0.10) + async-pool (0.11.2) + async (>= 2.0) + async-websocket (0.30.0) + async-http (~> 0.76) + protocol-http (~> 0.34) + protocol-rack (~> 0.7) + protocol-websocket (~> 0.17) base64 (0.3.0) - bigdecimal (3.3.1) + bigdecimal (4.0.1) brotli (0.8.0) concurrent-ruby (1.3.6) + console (1.34.3) + fiber-annotation + fiber-local (~> 1.1) + json crass (1.0.6) diff-lcs (1.6.2) dry-configurable (1.3.0) dry-core (~> 1.1) zeitwerk (~> 2.6) - dry-core (1.1.0) + dry-core (1.2.0) concurrent-ruby (~> 1.0) logger zeitwerk (~> 2.6) - dry-inflector (1.2.0) + dry-inflector (1.3.1) dry-initializer (3.2.0) dry-logic (1.6.0) bigdecimal concurrent-ruby (~> 1.0) dry-core (~> 1.1) zeitwerk (~> 2.6) - dry-schema (1.14.1) + dry-schema (1.16.0) concurrent-ruby (~> 1.0) dry-configurable (~> 1.0, >= 1.0.1) dry-core (~> 1.1) dry-initializer (~> 3.2) - dry-logic (~> 1.5) - dry-types (~> 1.8) + dry-logic (~> 1.6) + dry-types (~> 1.9, >= 1.9.1) zeitwerk (~> 2.6) - dry-types (1.8.3) - bigdecimal (~> 3.0) + dry-types (1.9.1) + bigdecimal (>= 3.0) concurrent-ruby (~> 1.0) dry-core (~> 1.0) dry-inflector (~> 1.0) @@ -99,81 +127,113 @@ GEM zlib (~> 3.0) faraday-net_http (3.4.2) net-http (~> 0.5) - hashie (5.0.0) + fiber-annotation (0.2.0) + fiber-local (1.1.0) + fiber-storage + fiber-storage (1.0.1) + hashie (5.1.0) + logger htmlbeautifier (1.4.3) + io-endpoint (0.17.2) + io-event (1.14.4) + io-stream (0.11.1) json (2.19.1) + json-schema (6.2.0) + addressable (~> 2.8) + bigdecimal (>= 3.1, < 5) kramdown (2.5.2) rexml (>= 3.4.4) language_server-protocol (3.17.0.5) lint_roller (1.1.0) logger (1.7.0) + mcp (0.8.0) + json-schema (>= 4.1) + metrics (0.15.0) mime-types (3.7.0) logger mime-types-data (~> 3.2025, >= 3.2025.0507) mime-types-data (3.2026.0303) net-http (0.9.1) uri (>= 0.11.1) - nokogiri (1.18.8-arm64-darwin) + nokogiri (1.19.1-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.8-x86_64-darwin) + nokogiri (1.19.1-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.8-x86_64-linux-gnu) + nokogiri (1.19.1-x86_64-linux-gnu) racc (~> 1.4) parallel (1.27.0) - parser (3.3.8.0) + parser (3.3.10.2) ast (~> 2.4.1) racc pastel (0.8.0) tty-color (~> 0.5) - prism (1.4.0) - public_suffix (6.0.2) - puppeteer-ruby (0.45.6) - concurrent-ruby (>= 1.1, < 1.4) + prism (1.9.0) + protocol-hpack (1.5.1) + protocol-http (0.60.0) + protocol-http1 (0.37.0) + protocol-http (~> 0.58) + protocol-http2 (0.24.0) + protocol-hpack (~> 1.4) + protocol-http (~> 0.47) + protocol-rack (0.21.1) + io-stream (>= 0.10) + protocol-http (~> 0.58) + rack (>= 1.0) + protocol-url (0.4.0) + protocol-websocket (0.20.2) + protocol-http (~> 0.2) + public_suffix (7.0.5) + puppeteer-ruby (0.51.0) + async (>= 2.35.1, < 3.0) + async-http (>= 0.60, < 1.0) + async-websocket (>= 0.27, < 1.0) + base64 mime-types (>= 3.0) - websocket-driver (>= 0.6.0) racc (1.8.1) + rack (3.2.5) rainbow (3.1.1) regexp_parser (2.11.3) reverse_markdown (3.0.2) nokogiri rexml (3.4.4) - rouge (4.5.2) - rspec (3.13.1) + rouge (4.7.0) + rspec (3.13.2) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.4) + rspec-core (3.13.6) rspec-support (~> 3.13.0) rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.5) + rspec-mocks (3.13.8) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.4) + rspec-support (3.13.7) rss (0.3.2) rexml - rubocop (1.75.8) + rubocop (1.85.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) + mcp (~> 0.6) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.44.0, < 2.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.44.1) + rubocop-ast (1.49.0) parser (>= 3.3.7.2) - prism (~> 1.4) - rubocop-performance (1.25.0) + prism (~> 1.7) + rubocop-performance (1.26.1) lint_roller (~> 1.1) rubocop (>= 1.75.0, < 2.0) - rubocop-ast (>= 1.38.0, < 2.0) - rubocop-rspec (3.6.0) + rubocop-ast (>= 1.47.1, < 2.0) + rubocop-rspec (3.9.0) lint_roller (~> 1.1) - rubocop (~> 1.72, >= 1.72.1) + rubocop (~> 1.81) ruby-progressbar (1.13.0) sanitize (7.0.0) crass (~> 1.0.2) @@ -184,6 +244,7 @@ GEM unicode_utils (~> 1.4) strings-ansi (0.2.0) thor (1.5.0) + traces (0.18.2) tty-color (0.6.0) tty-cursor (0.7.1) tty-markdown (0.7.2) @@ -206,12 +267,8 @@ GEM unicode-display_width (2.6.0) unicode_utils (1.4.0) uri (1.1.1) - websocket-driver (0.8.0) - base64 - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) wisper (2.0.1) - zeitwerk (2.6.18) + zeitwerk (2.7.5) zlib (3.2.3) PLATFORMS From 1dce9545e0b24ac336a46881ef680ac4e2a63430 Mon Sep 17 00:00:00 2001 From: Gil Desmarais Date: Tue, 10 Mar 2026 17:49:21 +0100 Subject: [PATCH 2/2] style: apply rubocop corrections --- Makefile | 7 ------- bin/rspec_changed_configs | 2 +- spec/html2rss/configs_dynamic_spec.rb | 23 +++++++---------------- 3 files changed, 8 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index 2e889ed..3c824ba 100644 --- a/Makefile +++ b/Makefile @@ -32,13 +32,6 @@ test-domain: fi bundle exec rspec --example "$(DOMAIN)" spec/html2rss/configs_dynamic_spec.rb -test-debug: - @if [ -z "$(CONFIG)" ]; then \ - echo "Usage: make test-debug CONFIG=github.com/releases.yml"; \ - exit 1; \ - fi - DEBUG_CONFIG=$(CONFIG) bundle exec rspec spec/html2rss/configs_dynamic_spec.rb - # Migration commands migrate-tests: bin/migrate_to_dynamic_tests diff --git a/bin/rspec_changed_configs b/bin/rspec_changed_configs index 8a07861..bae20c5 100755 --- a/bin/rspec_changed_configs +++ b/bin/rspec_changed_configs @@ -3,7 +3,7 @@ changed_files = `git diff --name-only origin/master | grep 'lib/html2rss/configs/.*/.*.yml'`.split("\n") -if changed_files.count.positive? +if changed_files.any? # Use dynamic test file with environment variable to filter changed configs config_names = changed_files.map { |file| file.sub('lib/html2rss/configs/', '') } diff --git a/spec/html2rss/configs_dynamic_spec.rb b/spec/html2rss/configs_dynamic_spec.rb index 914d9b1..bfb2dde 100644 --- a/spec/html2rss/configs_dynamic_spec.rb +++ b/spec/html2rss/configs_dynamic_spec.rb @@ -14,23 +14,14 @@ end config_files.each do |config_file| - relative_path = config_file.sub('lib/html2rss/configs/', '') - config_name = relative_path.tr('/', '_').gsub('.yml', '') - domain = relative_path.split('/').first + config_name = config_file.sub('lib/html2rss/configs/', '').tr('/', '_').gsub('.yml', '') + domain = config_file.sub('lib/html2rss/configs/', '').split('/').first - describe "#{relative_path} (#{config_name})", config: config_name, domain: domain do - it_behaves_like 'config.yml', relative_path - - # Add debugging hook for specific configs - if ENV['DEBUG_CONFIG'] == relative_path - it 'debugs the config' do - puts "Debugging config: #{relative_path}" - puts "File path: #{config_file}" - puts "Config name: #{config_name}" - puts "Domain: #{domain}" - expect(relative_path).to be_a(String) # Add meaningful expectation - end - end + describe "#{config_file.sub('lib/html2rss/configs/', '')} (#{config_name})", + config: config_name, + domain: domain, + relative_path: config_file.sub('lib/html2rss/configs/', '') do + it_behaves_like 'config.yml', config_file.sub('lib/html2rss/configs/', '') end end end