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...