עוד טיפ עצמי בסדרה ל JRuby, הפעם איך לתרגם את הקוד הבא בג'אווה לקוד רובי 🙂 כמו שאפשר לראות, זה דורש פחות שורות קוד לאותו הדבר בדיוק.
קוד הרובי:
#!/usr/bin/env jruby require 'rubygems' require 'java' require 'date' class Test def initialize @event_manager = org.firebirdsql.event.FBEventManager.new(Java::org.firebirdsql.gds.impl.GDSType.getType('PURE_JAVA')) @event_manager.setDatabase('/tmp/jtest.fdb') @event_manager.setUser('sysdba') @event_manager.setPassword('masterkey') end def run @event_manager.connect @event_manager.addEventListener('new_user', self) while (true) sleep(1) end end def eventOccurred(event) puts "[#{DateTime.now.to_s}] #{event.getEventName()}" end end test = Test.new test.run
חשוב להבהיר כי למרות ש eventOccurred אינו חוקי כל כך ברובי, אבל הוא מאשר את זה בכל זאת, רק ה IDE שאני משתמש בו לא מאושר מזה כל כך 🙂