added first customizable options idea: defining the default handled batch size for collection notifications, and whether one wants to use delay at all (is this really necessary??)
implementation of the user-defined batch size for handling collection notification (at least when one doesn't rewrite it)
removed the delay option (let us move to bigger things and implement a proper worker implementation)
added a worker-like object there to handle batches asynschronously; added brute-force code to make it work with the existing specs. stuff needs to be already rewritten...
moved all the orm-related abstract methods and implementations into an orm class and using the class as a singleton idempotent methods container
changed the orm initializer file name
moved worker and queue definitions to a separate folder/namespace so it can be worked upon separately
added activerecord logging
corrected implementation of the queueing (problem with the loop, offset wasn't being set properly. now it is, and had to correct all the flow up to the execution of the delayed task)
moved the helpers to helper folder
added solution to the proc marshalling issue: using the queue singleton as an auxiliary method repository where i store unique methods referencing the proc. So, the identifier gets marshalled in the worker. On job perform, one runs the auxiliary method, and undefines the method right away. The downside is: this will probably not work when the job gets enqueued in one process and run in another... let us study this further and cry later
reworked gemspec
added initializers for the 3 more used background processing queues. only working on delayed job for now
corrected requirement on a spec
added delayed job spec (same as the active record one, but enqueuing and running the workers... which does not exactly happen, since the delay_jobs flag is set to false, and they are being executed immediately)
turned the queue into a true singleton (it was used as such already) and exposed it to the outside using DRb. This way external processes will have access to it, which just rocks. The only downside: exposing the register and unregister methods, since I don't have access to the remote class. Oh well...
removed some unnecessary namespace declarations
removed over-reliance on the buggy #delay method for delaying action on single associations; using a strategy where I save batches of 1 element, therefore applying the same strategy as in the collection batching.
changed on of the orm helpers methods to something more understandable
moved initializers somewhere else