-
Notifications
You must be signed in to change notification settings - Fork 900
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Rails71 #23225
base: master
Are you sure you want to change the base?
[WIP] Rails71 #23225
Conversation
8888823
to
35c7f80
Compare
95c915c
to
728da06
Compare
Rails 7.1 removed the table_name alias to name so just use name: See: https://www.github.com/rails/rails/pull/46864 Rails 7.1 removed the writer for the table_alias so set the instance variable. We will need to see if there is a way to do this that's less brittle. See: https://www.github.com/rails/rails/pull/48927
I don't think it fixes all the issues as you can call alias_attribute anywhere up the ancestry tree and it's possible lazy loading is preventing them from being loaded. See: https://www.github.com/rails/rails/issues/52820 https://www.github.com/rails/rails/pull/52842 (7.1 backport: https://www.github.com/rails/rails/pull/52844) Looks like it's still an issue in some situations: https://www.github.com/rails/rails/issues/50154 https://www.github.com/rails/rails/issues/51717
Fixes deprecation of this variety: Foo model aliases `x`, but `x` is not an attribute. Starting in Rails 7.2, alias_attribute with non-attribute targets will raise. Use `alias_method :y, :x` or define the method manually.
I noticed deep_merge was behaving differently in tests and failing on 7.1. Digging in, rails 7.0 was using the gem, 7.1 was using the activesupport module: rails 7.1: ``` (byebug) {}.method(:deep_merge) #<Method: Hash(DeepMerge::DeepMergeHash)#deep_merge(source, options=...) /Users/joerafaniello/.gem/ruby/3.3.6/gems/deep_merge-1.2.2/lib/deep_merge/deep_merge_hash.rb:18> ``` rails 7.0: ``` (byebug) {}.method(:deep_merge) #<Method: Hash#deep_merge(other_hash, &block) /Users/joerafaniello/.gem/ruby/3.3.6/gems/activesupport-7.0.8.6/lib/active_support/core_ext/hash/deep_merge.rb:18> ``` Rails 7.1 changed the way their deep_merge is defined via a refactored module: https://www.github.com/rails/rails/commit/43b980368a7628fac95cc4f673e0dfbcee77c10b This was raised in: https://www.github.com/rails/rails/issues/49457 Config gem fixed this in 5.0 and subsequently fixed another compatibility issue in 5.1 https://www.github.com/rubyconfig/config/commit/759c0fe271b4b90d534217a5b6e0653d0c94ee85
Checked commits jrafanie/manageiq@b3ed22e~...1b0c5a9 with ruby 3.1.5, rubocop 1.56.3, haml-lint 0.51.0, and yamllint Gemfile
app/models/automation_request.rb
app/models/automation_task.rb
app/models/manageiq/providers/embedded_automation_manager/authentication.rb
app/models/miq_provision.rb
app/models/miq_provision_request.rb
app/models/persistent_volume.rb
app/models/physical_switch.rb
app/models/resource_group.rb
app/models/service.rb
app/models/service_template_provision_request.rb
app/models/vm_migrate_task.rb
app/models/vm_reconfigure_task.rb
app/models/vm_retire_task.rb
|
No description provided.