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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions