diff --git a/.rubocop.yml b/.rubocop.yml index 0d89bb194..b2d4e2bcb 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -67,3 +67,8 @@ RSpec/NestedGroups: Style/RedundantInitialize: Exclude: - app/services/pafs_core/download/base.rb + +# File.open without block is needed where callers expect an IO object; +# refactoring requires upstream interface changes — deferring to a separate PR. +Style/FileOpen: + Enabled: false diff --git a/Gemfile.lock b/Gemfile.lock index f2731c695..e0955861e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,16 +102,16 @@ GEM minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) + addressable (2.8.9) + public_suffix (>= 2.0.2, < 8.0) airbrake (13.0.5) airbrake-ruby (~> 6.0) airbrake-ruby (6.2.2) rbtree3 (~> 0.6) ast (2.4.3) aws-eventstream (1.4.0) - aws-partitions (1.1199.0) - aws-sdk-core (3.240.0) + aws-partitions (1.1220.0) + aws-sdk-core (3.242.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -119,11 +119,11 @@ GEM bigdecimal jmespath (~> 1, >= 1.6.1) logger - aws-sdk-kms (1.118.0) - aws-sdk-core (~> 3, >= 3.239.1) + aws-sdk-kms (1.122.0) + aws-sdk-core (~> 3, >= 3.241.4) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.209.0) - aws-sdk-core (~> 3, >= 3.234.0) + aws-sdk-s3 (1.213.0) + aws-sdk-core (~> 3, >= 3.241.4) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) aws-sigv4 (1.12.1) @@ -133,7 +133,8 @@ GEM bigdecimal (4.0.1) bstard (0.2.4) builder (3.3.0) - byebug (12.0.0) + byebug (13.0.0) + reline (>= 0.6.0) capybara (3.40.0) addressable matrix @@ -143,7 +144,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - cgi (0.5.0) + cgi (0.5.1) clamav-client (3.2.0) climate_control (1.2.0) coderay (1.1.3) @@ -159,29 +160,29 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0) database_cleaner-core (2.0.1) - date (3.5.0) + date (3.5.1) defra_ruby_alert (2.2.1) airbrake defra_ruby_style (0.4.1) - defra_ruby_template (5.11.0) + defra_ruby_template (5.11.1) diff-lcs (1.6.2) docile (1.4.1) dotenv (3.2.0) drb (2.2.3) - erb (6.0.0) + erb (6.0.2) erubi (1.13.1) factory_bot (6.5.6) activesupport (>= 6.1.0) factory_bot_rails (6.5.1) factory_bot (~> 6.5) railties (>= 6.1.0) - faker (3.5.3) + faker (3.6.0) i18n (>= 1.8.11, < 2) - faraday (2.14.0) + faraday (2.14.1) faraday-net_http (>= 2.0, < 3.5) json logger - faraday-http-cache (2.5.1) + faraday-http-cache (2.6.1) faraday (>= 0.8) faraday-net_http (3.4.2) net-http (~> 0.5) @@ -209,12 +210,16 @@ GEM i18n (1.14.8) concurrent-ruby (~> 1.0) io-console (0.8.2) - irb (1.15.3) + irb (1.17.0) pp (>= 0.6.0) + prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) jmespath (1.6.2) - json (2.18.0) + json (2.18.1) + json-schema (6.1.0) + addressable (~> 2.8) + bigdecimal (>= 3.1, < 5) json_schemer (2.5.0) bigdecimal hana (~> 1.3) @@ -235,7 +240,7 @@ GEM language_server-protocol (3.17.0.5) lint_roller (1.1.0) logger (1.7.0) - loofah (2.24.1) + loofah (2.25.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.9.0) @@ -246,16 +251,19 @@ GEM net-smtp marcel (1.1.0) matrix (0.4.3) + mcp (0.7.1) + json-schema (>= 4.1) memory_profiler (1.1.0) method_source (1.1.0) mini_mime (1.1.5) mini_portile2 (2.8.9) - minitest (6.0.1) + minitest (6.0.2) + drb (~> 2.0) prism (~> 1.5) - multi_json (1.17.0) + multi_json (1.19.1) net-http (0.9.1) uri (>= 0.11.1) - net-imap (0.5.12) + net-imap (0.6.3) date net-protocol net-pop (0.1.2) @@ -265,33 +273,33 @@ GEM net-smtp (0.5.1) net-protocol nio4r (2.7.5) - nokogiri (1.19.0) + nokogiri (1.19.1) mini_portile2 (~> 2.8.2) racc (~> 1.4) octokit (4.25.1) faraday (>= 1, < 3) sawyer (~> 0.9) parallel (1.27.0) - parser (3.3.10.0) + parser (3.3.10.2) ast (~> 2.4.1) racc pg (1.6.3) pp (0.6.3) prettyprint prettyprint (0.2.0) - prism (1.7.0) + prism (1.9.0) pry (0.16.0) coderay (~> 1.1) method_source (~> 1.0) reline (>= 0.6.0) pry-rails (0.3.11) pry (>= 0.13.0) - psych (5.2.6) + psych (5.3.1) date stringio - public_suffix (6.0.2) + public_suffix (7.0.2) racc (1.8.1) - rack (2.2.21) + rack (2.2.22) rack-cors (2.0.2) rack (>= 2.0.0) rack-session (1.0.2) @@ -323,8 +331,8 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.2) - loofah (~> 2.21) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) railties (7.2.3) actionpack (= 7.2.3) @@ -339,14 +347,14 @@ GEM rainbow (3.1.1) rake (13.3.1) rbtree3 (0.7.1) - rdoc (6.15.1) + rdoc (7.2.0) erb psych (>= 4.0.0) tsort regexp_parser (2.11.3) reline (0.6.3) io-console (~> 0.5) - retriable (3.1.2) + retriable (3.2.1) rexml (3.4.4) roo (2.10.1) nokogiri (~> 1) @@ -359,7 +367,7 @@ GEM rspec-mocks (3.13.7) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (8.0.2) + rspec-rails (8.0.3) actionpack (>= 7.2) activesupport (>= 7.2) railties (>= 7.2) @@ -369,28 +377,29 @@ GEM rspec-support (~> 3.13) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-support (3.13.6) - rubocop (1.82.1) + rspec-support (3.13.7) + rubocop (1.85.0) 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.48.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.48.0) + rubocop-ast (1.49.0) parser (>= 3.3.7.2) - prism (~> 1.4) + prism (~> 1.7) rubocop-capybara (2.22.1) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) rubocop-factory_bot (2.28.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) - rubocop-rails (2.34.2) + rubocop-rails (2.34.3) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) @@ -399,7 +408,7 @@ GEM rubocop-rake (0.7.1) lint_roller (~> 1.1) rubocop (>= 1.72.1) - rubocop-rspec (3.8.0) + rubocop-rspec (3.9.0) lint_roller (~> 1.1) rubocop (~> 1.81) rubocop-rspec_rails (2.32.0) @@ -414,7 +423,8 @@ GEM sawyer (0.9.3) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - secure_headers (7.1.0) + secure_headers (7.2.0) + cgi (>= 0.1) securerandom (0.4.1) shoulda-matchers (7.0.1) activesupport (>= 7.1) @@ -433,10 +443,10 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - stringio (3.1.8) - thor (1.4.0) + stringio (3.2.0) + thor (1.5.0) timecop (0.9.10) - timeout (0.4.4) + timeout (0.6.0) tsort (0.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -450,14 +460,14 @@ GEM addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - webrick (1.9.1) + webrick (1.9.2) websocket-driver (0.8.0) base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.7.3) + zeitwerk (2.7.5) PLATFORMS ruby diff --git a/spec/lib/pafs_core/data_migration/generate_funding_contributor_fcerm_spec.rb b/spec/lib/pafs_core/data_migration/generate_funding_contributor_fcerm_spec.rb index 61c1279d3..c289fe236 100644 --- a/spec/lib/pafs_core/data_migration/generate_funding_contributor_fcerm_spec.rb +++ b/spec/lib/pafs_core/data_migration/generate_funding_contributor_fcerm_spec.rb @@ -10,6 +10,7 @@ create_list(:full_project, 10, :with_funding_values, public_contribution_names: %w[Matt Test]) end + # rubocop:disable RSpec/Output describe "#perform" do xit "testing perf" do report = MemoryProfiler.report do @@ -20,4 +21,5 @@ report.pretty_print end end + # rubocop:enable RSpec/Output end diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index f505d8f5f..499d4291f 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -35,12 +35,14 @@ # Checks for pending migration and applies them before tests are run. # If you are not using ActiveRecord, you can remove this line. +# rubocop:disable RSpec/Output begin ActiveRecord::Migration.maintain_test_schema! rescue ActiveRecord::PendingMigrationError => e puts e.to_s.strip exit 1 end +# rubocop:enable RSpec/Output Shoulda::Matchers.configure do |config| config.integrate do |with|