Refactor #16527

Replace where_values calls on Rails scopes/relations

Added by Dominic Cleal 9 months ago. Updated 9 months ago.

Status:Closed
Priority:Normal
Assigned To:Dominic Cleal
Category:Rails
Target version:-
Difficulty: Bugzilla link:
Found in release: Pull request:https://github.com/theforeman/foreman/pull/3838
Story points-
Velocity based estimate-
Release1.14.0Release relationshipAuto

Description

Rails 5 removes (https://github.com/rails/rails/commit/c414fc6) the where_values method that was present on relations, which is used in two places in Foreman:

app/models/filter.rb
72: conditions = value ? limited.where_values.join(' AND ') : unlimited.where_values.map(&:to_sql).join(' AND ')
test/functional/application_controller_subclass_test.rb
200: refute_nil actual_scope.where_values.index{|condition| condition.left.name == 'field1'}

The replacement is either to use the public/documented where_values_hash method or to introspect where_clause (but that's 5.0+ only and again, rather a private API).

Associated revisions

Revision 1e7ae521
Added by Dominic Cleal 9 months ago

fixes #16527 - replace where_values calls on relations

History

#1 Updated by The Foreman Bot 9 months ago

  • Status changed from Assigned to Ready For Testing
  • Pull request https://github.com/theforeman/foreman/pull/3838 added

#2 Updated by Dominic Cleal 9 months ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

#3 Updated by Dominic Cleal 9 months ago

  • Release set to 1.14.0

Also available in: Atom PDF