diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8f7d3ef9..5794469e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,7 +28,6 @@ jobs: fail-fast: false matrix: ruby-version: - - '3.2' - '3.3' - '3.4' - '4.0' @@ -59,7 +58,6 @@ jobs: fail-fast: false matrix: ruby-version: - - '3.2' - '3.3' - '3.4' - '4.0' @@ -90,7 +88,6 @@ jobs: fail-fast: false matrix: ruby-version: - - '3.2' - '3.3' - '3.4' - '4.0' @@ -121,7 +118,6 @@ jobs: fail-fast: false matrix: ruby-version: - - '3.2' - '3.3' - '3.4' - '4.0' diff --git a/.rubocop.yml b/.rubocop.yml index 0bb16826..31ecf728 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -11,7 +11,7 @@ AllCops: - 'tmp/**/*' - 'vendor/**/*' - 'gemfiles/*' - TargetRubyVersion: 3.2 + TargetRubyVersion: 3.3 Gemspec/DevelopmentDependencies: Exclude: @@ -76,6 +76,13 @@ Style/Documentation: Style/HashSyntax: EnforcedShorthandSyntax: either +Style/OneClassPerFile: + Exclude: + - 'lib/rubycritic/analysers/helpers/ast_node.rb' + - 'test/analysers_test_helper.rb' + - 'test/fakefs_helper.rb' + - 'test/test_helper.rb' + Style/OpenStructUse: Exclude: - 'test/lib/rubycritic/generators/turbulence_test.rb' diff --git a/CHANGELOG.md b/CHANGELOG.md index 14ab4c63..40f3838c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ * [CHORE] ... * [FEATURE] ... +* [CHANGE] Drop support for Ruby 3.2 (by [@faisal][]) + # v5.0.0 / 2026-01-26 [(commits)](https://github.com/whitesmith/rubycritic/compare/v4.12.0...v5.0.0) * [CHORE] Bump byebug dependency (by [@faisal][]) diff --git a/lib/rubycritic/analysers/helpers/ast_node.rb b/lib/rubycritic/analysers/helpers/ast_node.rb index 6cf2280b..274c22eb 100644 --- a/lib/rubycritic/analysers/helpers/ast_node.rb +++ b/lib/rubycritic/analysers/helpers/ast_node.rb @@ -23,9 +23,7 @@ def recursive_children(&block) end def module_names - ast_node_children = children.select do |child| - child.is_a?(Parser::AST::Node) - end + ast_node_children = children.grep(Parser::AST::Node) children_modules = ast_node_children.flat_map(&:module_names) diff --git a/lib/rubycritic/analysis_summary.rb b/lib/rubycritic/analysis_summary.rb index e8c40b92..0b7c7600 100644 --- a/lib/rubycritic/analysis_summary.rb +++ b/lib/rubycritic/analysis_summary.rb @@ -11,8 +11,8 @@ def initialize(analysed_modules) end def generate - %w[A B C D F].each_with_object({}) do |rating, summary| - summary[rating] = generate_for(rating) + %w[A B C D F].to_h do |rating| + [rating, generate_for(rating)] end end diff --git a/rubycritic.gemspec b/rubycritic.gemspec index 5ae87729..4920774d 100644 --- a/rubycritic.gemspec +++ b/rubycritic.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |spec| spec.summary = 'RubyCritic is a Ruby code quality reporter' spec.homepage = 'https://github.com/whitesmith/rubycritic' spec.license = 'MIT' - spec.required_ruby_version = '>= 3.2.0' + spec.required_ruby_version = '>= 3.3.0' spec.files = [ 'CHANGELOG.md',