Skip to content

Ruby 4.0 warnings: method redefinitions, unused variables, mismatched indentation #1669

@fedegl

Description

@fedegl

Description

Running on Ruby 4.0.1 with Rails 8.1.3, ransack 4.4.1 produces several warnings. All functionality works correctly — these are cosmetic but noisy in test output.

Warnings

1. Method redefined: arel_predicate (lib/ransack/nodes/condition.rb)

lib/ransack/nodes/condition.rb:291: warning: method redefined; discarding old arel_predicate
lib/ransack/nodes/condition.rb:220: warning: previous definition of arel_predicate was here

A placeholder arel_predicate (raises "not implemented") is defined at line 220, then the real implementation replaces it at line 291.

2. Method redefined: conditions (lib/ransack/nodes/grouping.rb)

lib/ransack/nodes/grouping.rb:29: warning: method redefined; discarding old conditions

attr_reader :conditions at line 4 is superseded by def conditions at line 29 (which lazy-initializes @conditions).

3. Duplicate attr_reader: arel_visitor (lib/ransack/context.rb)

lib/ransack/context.rb:7: warning: method redefined; discarding old arel_visitor

attr_reader :arel_visitor appears on both line 5 and line 7.

4. Unused variables (lib/ransack/adapters/active_record/context.rb)

lib/ransack/adapters/active_record/context.rb:301: warning: assigned but unused variable - stashed_association_joins
lib/ransack/adapters/active_record/context.rb:360: warning: assigned but unused variable - reflection

5. Method redefined: value (lib/ransack/helpers/form_builder.rb)

lib/ransack/helpers/form_builder.rb:10: warning: method redefined; discarding old value
actionview-8.1.3/lib/active_model/naming.rb:36: warning: previous definition of value was here

Monkey-patch on ActionView::Helpers::Tags::Base#value. The existing TODO comment notes this needs a better solution.

6. Mismatched indentation (lib/polyamorous/activerecord/reflection.rb)

lib/polyamorous/activerecord/reflection.rb:6: warning: mismatched indentations at 'else' with 'if' at 4

The if at line 4 has 1-space indent instead of 2.

Environment

  • Ruby 4.0.1
  • Rails 8.1.3
  • ransack 4.4.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions