I've been looking into providing JRuby support to this gem.
There are a couple of hurdles:
- Dependency upon
bson_ext, which uses C extensions
- This could be solved quite easily by adding an
unless RUBY_PLATFORM ~= /java/ in the gemspec, so that bson_ext isn't used on JRuby
- Time precision is more coarse in JRuby
- This messes up the
completed? method in lib/exodus/migrations/migration.rb
time_it will very often return 0.0, especially if the down action is empty
- Since
execution_time == 0 is used to check whether execution has happened, we get errors.
I'd happily provide a PR, but I need help figuring out a better implementation for completed? - one that doesn't rely on the precision of Time.now.
I've been looking into providing JRuby support to this gem.
There are a couple of hurdles:
bson_ext, which uses C extensionsunless RUBY_PLATFORM ~= /java/in the gemspec, so thatbson_extisn't used on JRubycompleted?method inlib/exodus/migrations/migration.rbtime_itwill very often return0.0, especially if thedownaction is emptyexecution_time == 0is used to check whether execution has happened, we get errors.I'd happily provide a PR, but I need help figuring out a better implementation for
completed?- one that doesn't rely on the precision ofTime.now.