Feature #3511
closed
rb_path_to_class should call custom const_defined? methods
Added by tenderlovemaking (Aaron Patterson) over 14 years ago.
Updated over 8 years ago.
Description
=begin
It would be nice if rb_path_to_class called custom const_defined? methods. This would give marshaled objects a chance to locate and define classes when they are being unmarshalled.
I've attached a patch with a test that demonstrates the desired functionality and a (probably naive) implementation.
=end
Files
- Description updated (diff)
- Status changed from Open to Feedback
Aaron, is this hook extension still needed for your usecase? (assuming Rails?)
Not bad but it would affect performance...
- Target version set to 2.6
Hiroshi Nakamura wrote:
Aaron, is this hook extension still needed for your usecase? (assuming Rails?)
Not bad but it would affect performance...
Would this idea still be considered? I find this issue comes up fairly frequently in Rails apps when an object is serialized and deserialized in a separate process.
I think the performance problem could be addressed by keeping the rb_const_defined call, and then only if that fails try the rb_funcall. WDYT?
I've attached an updated patch for current ruby trunk, which I think is a little more consistent with non-lazily-defined constant lookup. Also simplified the test case a little.
- Status changed from Feedback to Closed
This is kind of autoload that sometimes cause problems.
I think it can cause issues than solving problem.
If you have a concrete use-case of this feature, please reopen.
Matz.
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0