I'm attempting to use DirectJRubyEmbedding to set up Java-to-Ruby API calls for my application. One of the required ruby modules to be loaded is active_support. It then loads 'securerandom' which then loads 'openssl'
Within openssl, digest.rb has a rederence to this.
Attempting to use OpenSSL gem causes the following error:
uninitialized constant OpenSSL::Digest::OPENSSL_VERSION_NUMBER
at org.jruby.RubyModule.const_missing(org/jruby/RubyModule.java:2677) at RUBY.Digest(/Users/v/.rvm/gems/ruby-1.9.3-p125/gems/jruby-openssl-0.8.2/lib/1.9/openssl/digest.rb:24) at RUBY.OpenSSL(/Users/v/.rvm/gems/ruby-1.9.3-p125/gems/jruby-openssl-0.8.2/lib/1.9/openssl/digest.rb:22) at RUBY.(root)(/Users/v/.rvm/gems/ruby-1.9.3-p125/gems/jruby-openssl-0.8.2/lib/1.9/openssl/digest.rb:21) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.(root)(/Users/v/.rvm/gems/ruby-1.9.3-p125/gems/jruby-openssl-0.8.2/lib/1.9/openssl.rb:1) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.(root)(/Users/v/.rvm/gems/ruby-1.9.3-p125/gems/jruby-openssl-0.8.2/lib/1.9/openssl.rb:20) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.(root)(/Users/v/.rvm/rubies/jruby-1.6.7.2/lib/ruby/1.9/securerandom.rb:1) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.(root)(/Users/v/.rvm/rubies/jruby-1.6.7.2/lib/ruby/1.9/securerandom.rb:37) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.(root)(/Users/v/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.9/lib/active_support.rb:1) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.(root)(/Users/v/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.9/lib/active_support.rb:24) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.(root)(/Users/v/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.9/lib/active_support/all.rb:1)
I am using Ruby 1.9.3-p125 with openssl 0.8.2 as seen in the following gem load.
.rvm/gems/ruby-1.9.3-p125/gems/jruby-openssl-0.8.2/lib/1.9
I noticed that the jirb shows:
1.9.3-p125 :004 > OpenSSL::OPENSSL_VERSION_NUMBER => 9469999
So, it looks like the java compiled classes in JRuby.jar defines it in the OpenSSL module, but the code in .rb file is unable to find it.
Any help would be much appreciated.
Thanks