Object
We don't instantiate the following classes, as we don't actually need any per-instance state. Also, this is pretty low-level functionality, hence it should have a reasonable performance. As everyone knows, garbage collector in MRI performs really badly, which is another good reason for not creating any objects, but only use class as a struct. Creating classes is quite expensive though, but here the inheritance comes handy and mainly as we can't simply make a reference to a function, we can't use a hash or an object. I've been also considering to have just a bunch of methods, but here's the problem, that after we'd require this file, all these methods would become global which would be a bad, bad thing to do.
# File lib/amq/protocol/client.rb, line 205 def self.classes @classes end
# File lib/amq/protocol/client.rb, line 199 def self.inherited(base) if self == Protocol::Class @classes << base end end
Generated with the Darkfish Rdoc Generator 2.