标签: ruby

Ruby on Rails的持续集成?

我一直在寻找Ruby on Rails的持续集成解决方案,但对结果并不太满意.我来自一个使用CruiseControl.NET的.NET商店,它的易用性和丰富的状态/报告真的被宠坏了.

理想情况下,我在寻找:

  • 明显的Git/SVN和Test :: Unit集成

  • 与Rake和/或Capistrano集成

  • 显示构建状态的Web界面

  • 失败构建的电子邮件通知.

  • 桌面通知(可能通过Growl)

  • 用于构建状态的REST API

  • 插件框架,用于在UI中运行其他代码分析工具和报告结果

ruby continuous-integration ruby-on-rails

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

我如何调试Ruby脚本?

我从Internet复制了以下Ruby代码并进行了一些更改.

__PRE__

但它不起作用!

请帮忙.我该怎么做才能自己调试程序?

ruby debugging

148
推荐指数
12
解决办法
15万
查看次数

Ruby:如何迭代一个范围,但是以增量为单位?

所以我在这样的范围内迭代:

(1..100).each do |n|
    # n = 1
    # n = 2
    # n = 3
    # n = 4
    # n = 5
end
Run Code Online (Sandbox Code Playgroud)

但我想做的是迭代10.

因此,不是增加n1,而是下一个n实际上是10,然后是20,30等.

ruby iterator increment

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

EOFError:文件结尾与Net :: HTTP达成问题

我使用的是ruby-1.8.7-p302/Rails 2.3.11.我正在尝试使用FQL(Facebook API)获取链接的统计信息.这是我的代码:

def stats(fb_post_url)
  url = BASE_URI + "?query=#{URI.encode("select like_count from link_stat where url=\"#{fb_post_url}\"")}"
  parsed_url = URI.parse(url)
  http = Net::HTTP.new(parsed_url.host, parsed_url.port)
  request = Net::HTTP::Get.new(parsed_url.request_uri)

  response = http.request(request)
  response.inspect
end
Run Code Online (Sandbox Code Playgroud)

这是错误:

EOFError: end of file reached
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/protocol.rb:135:in `sysread'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/protocol.rb:135:in `rbuf_fill'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/timeout.rb:67:in `timeout'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/timeout.rb:101:in `timeout'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/protocol.rb:126:in `readline'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/http.rb:2028:in `read_status_line'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/http.rb:2017:in `read_new'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/http.rb:1051:in `request'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/http.rb:1037:in `request'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/http.rb:543:in `start'
from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/http.rb:1035:in `request'
from /home/rahul/Work/Radr/lib/fb_stats.rb:13:in `stats'
from (irb):10 …
Run Code Online (Sandbox Code Playgroud)

ruby web-services ruby-on-rails facebook-fql

147
推荐指数
2
解决办法
9万
查看次数

如何修改Homebrew的PATH?

尝试安装ruby 1.9.3,请阅读我需要先安装自制软件.跑啤酒医生,它给了我一堆警告.其中之一是:

警告:/ usr/bin发生在/ usr/local/bin之前这意味着将使用系统提供的程序而不是Homebrew提供的程序.两个路径都存在以下工具:

easy_install
easy_install-2.6
Run Code Online (Sandbox Code Playgroud)

考虑修改PATH,以便/ usr/local/bin位于PATH中的/ usr/bin之前.

一个人怎么做它在这里要求的东西?

ruby homebrew path

147
推荐指数
3
解决办法
10万
查看次数

Ruby on Rails:删除多个哈希键

我经常发现自己在写这个:

params.delete(:controller)  
params.delete(:action)  
params.delete(:other_key)  
redirect_to my_path(params)  
Run Code Online (Sandbox Code Playgroud)

删除的痕迹感觉不对,也没有:

[:controller, :action, :other_key].each do |k|
  params.delete(k)
end
Run Code Online (Sandbox Code Playgroud)

有什么更简单,更清洁的吗?

ruby ruby-on-rails

146
推荐指数
6
解决办法
6万
查看次数

Ruby睡眠或延迟不到一秒钟?

我正在制作一个带有ruby的脚本,它必须以每秒24帧的速度渲染帧,但我需要在发送命令之间等待1/24秒.什么是最好的睡眠时间不到一秒钟?

ruby

146
推荐指数
2
解决办法
16万
查看次数

在Ruby中使用base64编码的字符串中的奇怪\n

Ruby中内置的Base64库正在添加一些'\n'.我无法找出原因.对于这个特例:

irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'base64'
=> true
irb(main):003:0> str =  "1110--ad6ca0b06e1fbeb7e6518a0418a73a6e04a67054"
=> "1110--ad6ca0b06e1fbeb7e6518a0418a73a6e04a67054"
irb(main):004:0> Base64.encode64(str)
=> "MTExMC0tYWQ2Y2EwYjA2ZTFmYmViN2U2NTE4YTA0MThhNzNhNmUwNGE2NzA1\nNA==\n"
Run Code Online (Sandbox Code Playgroud)

\n是从结尾开始的最后一个位置和第六个位置.解码器(Base64.decode64)完美地返回旧字符串.奇怪的是,这些\n不会为编码字符串添加任何值.当我从输出字符串中删除换行符时,解码器会再次完美地对其进行解码.

irb(main):005:0> Base64.decode64(Base64.encode64(str).gsub("\n", '')) == str
=> true
Run Code Online (Sandbox Code Playgroud)

更多的是,我使用另一个JS库来生成相同输入字符串的base64编码输出,输出没有\n的.

这是一个错误还是其他什么?以前有人遇到过这个问题吗?

仅供参考,

$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
Run Code Online (Sandbox Code Playgroud)

ruby base64 encode

146
推荐指数
5
解决办法
5万
查看次数

如何在Ruby中查找字符串是否以其他字符串开头?

如果一个字符串在Ruby(没有rails)中以另一个字符串开头的最佳方法是什么?

ruby string startswith

146
推荐指数
3
解决办法
9万
查看次数

在哈希中交换键和值

在Ruby中,如何在Hash上交换键和值?

假设我有以下哈希:

{:a=>:one, :b=>:two, :c=>:three}
Run Code Online (Sandbox Code Playgroud)

我想转变成:

{:one=>:a, :two=>:b, :three=>:c}
Run Code Online (Sandbox Code Playgroud)

使用地图似乎相当乏味.有更短的解决方案吗?

ruby hashmap

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