igorkasyanchuk/rails_cached_method

There is an error after upgrade rails to 7.1 with `marshal_dump`

Open

#1 opened on Oct 2, 2024

 (1 comment) (0 reactions) (0 assignees)Ruby (0 forks)github user discovery
help wanted

Repository metrics

Stars
 (11 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Looks like the problem in these chunk of code:

old = $VERBOSE.dup
$VERBOSE = nil
Object.methods.each do |e|
  delegate e, to: :@__object__
end
$VERBOSE = old

The error looks like:

Failure/Error: page = Page.cached.find_by(identifier: identifier)
     
ActionView::Template::Error:
 RailsCachedMethod::CacheProxy#marshal_dump returned same class instance
# /.../rails_cached_method/lib/rails_cached_method.rb:47:in `method_missing'
# ./app/models/page.rb:56:in `find_page'
# ./app/models/page.rb:48:in `[]'

So, to conclude - the code works pretty fine for rails 7.0, but after upgrade to 7.1 it shows me previously shown error.

Contributor guide