Closed HoneyryderChuck closed 9 months ago
Hi,
investigated further, and it seems it is all because of these lines:
if t.is_a?(String)
class << t
attr_accessor :attributes
end
t.attributes = attributes
end
line 85 - 90 of the xml.rb file.
Apparently, after the insertion of the attributes accessor on the t variable, t is no longer an instance of String, but a singleton instance(?) of String. Not dumpable, therefore. How to fix this? I'll investigate further, just wanted to tell u about so u could know of the issue as well.
The main culprit of this issue has been (and now a quote from the Marshal class documentation for Ruby 1.x.x):
Some objects cannot be dumped: if the objects to be dumped include bindings, procedure or method objects, instances of class IO, or singleton objects, a TypeError will be raised.
the solutions, as far as i see it is, are:
what do you think?
Anyone have a solution or workaround for this in the past 7 months?
Seems to be fixed already
I'm using the parsing engine in order to get hash representation that will be serialized somewhere. In order for it to be serialized, the object cannot be singleton. Turns out, what the parsing function returns is indeed singleton, therefore, not dumpable.
quick example:
this returns: TypeError: singleton can't be dumped
Is it short-term-fixable?
Regards Tiago