标签: jruby

为Java调试器接口实现不同的层

Location类的Java Debugger Interface文档中,有一个段落讨论了该位置的"层".我一直在寻找更多有关如何实现新层(例如,Scala或JRuby)的细节,但我没有找到太多.任何人都可以对这个话题有所了解吗?

java debugging scala jruby jdi

12
推荐指数
1
解决办法
807
查看次数

12
推荐指数
4
解决办法
3546
查看次数

Android应用程序开发中的SL4A vs Ruboto

我正在考虑使用JRuby(或适用于Android的Ruby的适当变体)在Android上创建应用程序.

根据我的研究,目前有两个项目支持Android上的Ruby开发:

  1. Ruboto
  2. SL4A

从gotoub 上的Ruboto wiki常见问题解答看来,Ruboto已准备好进行应用程序开发,但还不支持JIT编译,并且应用程序必须与库一起打包,这使得它占用大量空间(用于移动设备安装).

我对SL4A知之甚少,但似乎SL4A也试图在JVM上运行JRuby脚本.但主要的是SL4A仍处于alpha状态,所以我不知道它是否可以用于app开发.

对这些平台有更好了解的人可以建议应该使用哪一个?此外,在不久的将来,哪一个更有可能在JIT(性能),更低的占用空间和更好的API访问Android方面变得更加成熟?

android jruby sl4a mirah ruboto

12
推荐指数
1
解决办法
2808
查看次数

RUBY_ENGINE的哪些值对应于哪些Ruby实现?

我知道在运行时检测Ruby 实现(例如,MRI,JRuby,Rubinius等)的方法是检查全局常量RUBY_ENGINE:

$ ruby -e 'puts RUBY_ENGINE'
ruby
Run Code Online (Sandbox Code Playgroud)

什么是已知的Ruby实现的相当全面的列表及其对应的RUBY_ENGINE值?

ruby rubinius jruby macruby

12
推荐指数
1
解决办法
960
查看次数

Java脚本安全性(JRuby,Jython,Groovy,BeanShell等)

我正在寻找运行一些未经验证的脚本(用一种尚未确定的语言编写,但需要基于Java,因此JRuby,Groovy,Jython,BeanShell等都是候选者).我希望这些脚本能够做一些事情并限制做其他事情.

通常,我只是使用Java的SecurityManager并完成它.这非常简单,让我限制文件和网络访问,关闭JVM的能力等等.这对我想要阻止的高级别东西很有效.

但是我想要允许一些东西,但只能通过我提供的自定义API /库.例如,我不想允许直接网络访问打开到yahoo.com的URLConnection,但如果使用MyURLConnection完成,我没关系.那就是 - 我想要允许的一组方法/类,然后我想要的其他一切不受限制.

我不相信这种类型的安全性可以使用标准的Java安全模型来完成,但也许它可以.我对脚本语言本身的性能或灵活性没有特定要求(脚本将通过基本循环/分支对我的API进行简单的过程调用).所以即使是一个"大"的开销来检查每次反射调用的安全检查也没问题.

建议?

java security groovy jython jruby

11
推荐指数
1
解决办法
3149
查看次数

Rails的关闭钩子

我希望在Rails关闭时运行一些清理代码 - 这可能吗?我的情况是我在后台有一些线程(我正在使用jruby并调用java),这些线程一直存在于进程的生命中,我需要让他们知道关闭自己

谢谢!

ruby-on-rails jruby

11
推荐指数
2
解决办法
3426
查看次数

在JRuby中投射对象

有没有办法可以从JRuby显式地将一个Java对象转换为另一个Java类?

有时我希望能够调用SomeJavaClass#aMethod(MySuperClass)而不是SomeJavaClass#aMethod(MyClass)从JRuby 调用.

从Java开始,我会这样做:

someJavaObject.aMethod( (MySuperClass) myObj );
Run Code Online (Sandbox Code Playgroud)

但我没有看到一个#castruby方法或类似的东西来做JRuby中的等效方法.

请注意,从JRuby转换Java对象的问题缺乏对一般情况的答案,这就是我重新提出问题的原因.

java casting jruby jruby-java-interop

11
推荐指数
1
解决办法
3136
查看次数

使用JRuby/Jython实现Ruby/Python互操作性?

很可能是一个愚蠢的问题,因为我对Java/Jython/JRuby /字节码不太了解,但..

今天我偶然发现了_why的邪恶 ......它允许你从Ruby代码输出Python字节码.基本上允许它们生成相同的字节码..

Jython输出Java字节码,就像JRuby一样.由于这些都编译为相同的字节码,这是否意味着您可以使用Ruby中的任何Python库和Python中的Ruby库?

ruby python bytecode jython jruby

11
推荐指数
2
解决办法
1677
查看次数

Rails迁移生成默认时间戳(created_at,updated_at)为NULLABLE

前段时间我们将应用程序升级到Rails 4并切换到JRuby.

在此更改之前,迁移会将默认时间戳创建为NOT NULL.在更改之后,缺少NOT NULL.

我们创建这些时间戳(created_at,updated_at)如下:

class Model < ActiveRecord::Migration
  def change
    create_table :model do |t|
      t.belongs_to :user, :null => false

      t.text :content

      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我们的应用程序的重要部分是:

  • ruby'1.9.3',:engine =>'jruby',:engine_version =>'1.7.9'
  • 宝石'轨道','4.0.2'
  • gem'activerecord -jdbcpostgresql-adapter','1.3.4'
  • postgresql:稳定9.3.1

您是否知道可能导致问题的原因以及我们如何将默认生成更改回NOT NULL

migration postgresql activerecord ruby-on-rails jruby

11
推荐指数
1
解决办法
8489
查看次数

无法使用rackup和jRuby启动简单的Sinatra应用程序(Web服务器无响应)

我有一个Sinatra"hello world"应用程序,我试图使用jRuby运行.它在我运行应用程序时有效,但在我运行机架时则无效.谁能告诉我这里发生了什么?

这是应用程序,在'app.rb'文件中:

require 'rubygems'
require 'bundler/setup'
require 'sinatra'

configure do
  set :bind, '0.0.0.0'
end

get '/' do
  'Boo!'
end
Run Code Online (Sandbox Code Playgroud)

我可以运行它bundle exec ruby app.rb,它工作正常:

jonea@centos7andy[~/andy/sinatra_sand_jruby]%: bundle exec ruby app.rb
[2015-01-12 10:36:06] INFO  WEBrick 1.3.1
[2015-01-12 10:36:06] INFO  ruby 1.9.3 (2014-12-09) [java]
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from WEBrick
[2015-01-12 10:36:06] INFO  WEBrick::HTTPServer#start: pid=31654 port=4567
Run Code Online (Sandbox Code Playgroud)

这是我的config.ru来调用上面的程序:

require 'rubygems'
require 'bundler/setup'
require 'sinatra'
require './app'

run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)

如果我运行它,它似乎工作,但我无法使用Web浏览器访问服务器:

jonea@centos7andy[~/andy/sinatra_sand_jruby]%: bundle exec rackup -p4567 …
Run Code Online (Sandbox Code Playgroud)

ruby jruby sinatra rackup

11
推荐指数
2
解决办法
1万
查看次数