标签: jruby

新的 Ruby 1.9 哈希语法

new_hash = {:simon => "Talek", :lorem => "Ipsum"}
Run Code Online (Sandbox Code Playgroud)

可以替换为

new_hash = {simon: "Talek", lorem: "Ipsum"}
Run Code Online (Sandbox Code Playgroud)

还有更短的写法吗

:on => :collection
Run Code Online (Sandbox Code Playgroud)

应用相同的逻辑会引发错误:

on: :collection
Run Code Online (Sandbox Code Playgroud)

更新以提供更多信息:

在我的 routes.rb 中:

get 'detail', { on: :member } 
Run Code Online (Sandbox Code Playgroud)

不起作用。也没有

get 'detail',  on: :member 
Run Code Online (Sandbox Code Playgroud)

错误:

Exiting
SyntaxError: C:/Workspace/OE_11/CyberTrack_Rails3/config/routes.rb:23: 
  syntax error, unexpected ':'

      get 'detail', { on: :member }
Run Code Online (Sandbox Code Playgroud)

或者

Exiting
SyntaxError: C:/Workspace/OE_11/CyberTrack_Rails3/config/routes.rb:23: 
  syntax error, unexpected ':'

      get 'detail', on: :member
Run Code Online (Sandbox Code Playgroud)

ruby jruby syntax-error

6
推荐指数
1
解决办法
3857
查看次数

为什么 ActiveSupport::JSON.encode 这么慢?

JRuby 9.2,Rails 4.2

我一直在读取/转储大型 JSON 对象,100+MB 的文件,这些文件通常会挂起几分钟,然后在写出它们时内存不足。

我注意到它在使用to_json. 下面是一个 4MB 的文件,所以它实际上完成了:

pry(main)> f = File.open('nvdcve-1.0-recent.json'){|f| JSON.load(f) }
pry(main)> puts Benchmark.measure{ JSON.dump(f) }
  0.230000   0.010000   0.240000 (  0.081894)
=> nil
pry(main)> puts Benchmark.measure{ f.to_json }
  1.020000   0.020000   1.040000 (  0.820851)
=> nil
Run Code Online (Sandbox Code Playgroud)

问题的根源在于 ActiveSupport 覆盖to_json了很多东西:

pry(main)> f.method(:to_json)
=> #<Method: Hash#to_json(to_json_with_active_support_encoder)>
pry(main)> puts Benchmark.measure{ f.to_json_without_active_support_encoder }
  0.040000   0.000000   0.040000 (  0.035408)
pry(main)> puts Benchmark.measure{ f.to_json_with_active_support_encoder }
  1.170000   0.010000   1.180000 (  0.812674)
Run Code Online (Sandbox Code Playgroud)

请参阅此处:https : //apidock.com/rails/Object/to_json_with_active_support_encoder

那么究竟是ActiveSupport::JSON.encode什么与 …

ruby json ruby-on-rails jruby ruby-on-rails-4

6
推荐指数
2
解决办法
884
查看次数

如何在JRuby中初始化SQLite3 JDBC驱动程序?

如何在不使用活动记录的情况下通过JDBC访问SQLite3?

ruby java sqlite jruby jdbc

5
推荐指数
2
解决办法
3866
查看次数

Java中的Ruby解析器

我正在做的项目是用Java和解析器源代码文件编写的.(Java src到现在为止).现在我想启用解析Ruby代码.因此,我正在寻找一个解析Ruby源代码的Java解析器.

到目前为止,我唯一能找到的是Ruby中的Ruby解析器(ParseTree和RubyParser ......).我可以用JRuby中的Ruby解析器解析我想要的源文件,然后从那里访问我的Java东西.但这意味着我将无法重用我以前编写的许多Java代码.

在Java中是否有一个像样的Ruby解析器并且我无法找到它?或者有人看到更好的解决方案?

ruby java parsing jruby

5
推荐指数
1
解决办法
1032
查看次数

在Java项目中与Java配对的最佳动态语言

在大型Java项目中与Java配对的最佳动态语言是什么?

我们正在考虑使用动态语言进行测试,控制器和服务.一些选项是Groovy,JRuby或Jython.每个人的优点和缺点是什么?理想情况下,我们可以从动态语言调用Java,也可以从Java调用动态语言.

编辑:如果有帮助,我们将Hibernate与PicoContainer和Webwork一起使用.

谢谢,亚历克斯

java groovy dynamic-languages jython jruby

5
推荐指数
1
解决办法
1813
查看次数

在Rails DB中使用CamelCase而不是snake_case

我的数据库表和字段名称在CamelCase中.是否可以将这些名称转换为snake_case?使模型方法看起来漂亮吗?

该应用程序是JRubyOnRails 3.0/MSSQL DB/ActiveRecord-JDBC-adapter.

ruby ruby-on-rails jruby activerecord-jdbc

5
推荐指数
1
解决办法
3390
查看次数

Dalvik错误与JRuby与SL4A

尝试在SL4A上运行jruby脚本时出现此错误

Dalvik VM unable to locate class 'org/jruby/Main' 
java.lang.NoClassDefFoundError: org.jruby.Main
Run Code Online (Sandbox Code Playgroud)

我看到安装了jruby.jar文件

# find org.ruboto.sl4a/
org.ruboto.sl4a/
org.ruboto.sl4a/jruby_extras.zip
org.ruboto.sl4a/extras
org.ruboto.sl4a/extras/jruby
org.ruboto.sl4a/extras/jruby/jruby.jar
org.ruboto.sl4a/jruby_scripts.zip
org.ruboto.sl4a/dalvik-cache
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?这是权限问题吗?我有一个运行CM7的root电话

android jruby dalvik sl4a ruboto

5
推荐指数
1
解决办法
491
查看次数

回形针与JRuby

最近我改编我的rails应用程序在JRuby上运行.我遇到的一个问题是Paperclip.Paperclip使用Cocaine运行ImageMagick等命令行工具,并使用Process.spawn,结果如下:

Errno::ECHILD: No child processes - No child processes
                 waitpid at org/jruby/RubyProcess.java:512
                 waitpid at org/jruby/RubyProcess.java:497
                 waitpid at /home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/cocaine-0.3.0/lib/cocaine/command_line/runners/process_runner.rb:21
                    call at /home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/cocaine-0.3.0/lib/cocaine/command_line/runners/process_runner.rb:9
                 execute at /home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/cocaine-0.3.0/lib/cocaine/command_line.rb:77
                     run at /home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/cocaine-0.3.0/lib/cocaine/command_line.rb:55
                     run at /home/cthulhu/.rvm/gems/jruby-1.6.7.2/gems/paperclip-3.2.0/lib/paperclip/helpers.rb:29

有没有办法让Paperclip与JRuby顺利合作?我只在linux上运行我的应用程序,所以我不介意使用像ImageMagick这样的Linux本机工具.

Rails 3.2.8,JRuby 1.6.7.2

ruby-on-rails jruby paperclip

5
推荐指数
2
解决办法
1209
查看次数

java生态系统中是否有类似于phusion乘客的web服务器?

是否有任何Web服务器或应用程序服务器用于运行具有phusion乘客提供的以下功能的Java应用程序

1)基于交通的动态过程管理

phusion乘客根据流量动态调整应用程序进程数,并重新启动任何崩溃的进程.这样我们就可以确保资源使用保持在定义的限制内.

2)额外可靠性的过程外体系结构

乘客在Web服务器的地址空间之外运行应用程序和大多数支持代码.如果任何组件出现故障,我们会使用看门狗自动重新启动它.

至于我的理解ruby on rails服务器为每个请求创建或分叉进程,在每个请求的java服务器中将创建新线程

问题

1)在java eco-system中,任何Web服务器或应用程序服务器都会在组件故障或内存问题或任何其他内部问题上自动重启

java webserver jruby passenger

5
推荐指数
1
解决办法
205
查看次数

如何使用leiningen的maven插件

我希望能够使用的特定插件是jruby-maven-plugin,因此我可以在clojure项目中轻松使用指南针.

如果不可能使用maven插件,那么在clojure项目中使用ruby gem的最佳策略是什么?

jruby clojure leiningen compass-sass

5
推荐指数
1
解决办法
734
查看次数