标签: ruby

如何避免rspec中的长堆栈跟踪

是否可以轻松地将堆栈跟踪限制为应用程序中的文件?长堆栈跟踪很乱,大多数错误都直接在应用程序中.

ruby rspec ruby-on-rails

9
推荐指数
1
解决办法
1475
查看次数

AREL中的分组和分组

我正在尝试使用arel查询此sql代码段的等效内容:

WHERE (("participants"."accepted" = 'f' AND "participants"."contact_id" = 1) 
  OR "participants"."id" IS NULL)
Run Code Online (Sandbox Code Playgroud)

所以我想要 (accepted && contact_id=1) OR NULL

这是我在AREL中得到的

participants[:accepted].eq(false).and(participants[:contact_id].eq(1).
  or(participants[:id].is(nil)
Run Code Online (Sandbox Code Playgroud)

问题是,这会产生:

("participants"."accepted" = 'f' AND "participants"."contact_id" = 1 OR "participants"."id" IS NULL)
Run Code Online (Sandbox Code Playgroud)

请注意我和条件周围缺少括号.我相信根据运营商的优先顺序,我得到了:

accepted && (contact_id=1 OR NULL)
Run Code Online (Sandbox Code Playgroud)

在AREL查询中添加括号没有任何影响.有什么想法吗?

ruby sql arel

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

Ruby中的函数指针?

也许这是一个愚蠢的问题,但我是红宝石的新手,我用Google搜索,发现这些:

proc=Proc.new {|x| deal_with(x)}
a_lambda = lambda {|a| puts a}
Run Code Online (Sandbox Code Playgroud)

但我想要这个:

def forward_slash_to_back(string)
...
def back_slash_to_forward(string)
...
def add_back_slash_for_post(string)
...
...
case conversion_type
when /bf/i then proc=&back_slash_to_forward
when /fb/i then proc=&forward_slash_to_back
when /ad/i then proc=&add_back_slash_for_post
else proc=&add_back_slash_for_post
end

n_data=proc.call(c_data)
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误.我不知道如何在Ruby中做到这一点,任何人都可以提供帮助?非常感谢!

ruby

9
推荐指数
1
解决办法
9225
查看次数

法拉第超时

我在网上搜索了文档和其他地方,似乎无法想出为法拉第设置超时选项的正确方法.有人有答案吗?

我试过了:

  conn = FaradayStack.build(url)
  conn.headers[:user_agent]   = AppConfig.user_agent
  # conn.options[:timeout]      = 20
  # conn.options[:open_timeout] = 20
  response = conn.get do |req|
    req.options = {
      :timeout      => 20,
      :open_timeout => 20
    }
  end
  response.body
Run Code Online (Sandbox Code Playgroud)

似乎没有什么工作.顺便说一句,我使用Typhoeus适配器,如果这有所作为.

ruby

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

Foreman不会杀死进程

对于开始应用我使用Foreman.Foreman从Procfile开始流程

web: bundle exec rails server thin -p $PORT
worker: bundle exec rake environment resque:work QUEUE=send_mail
api: bundle exec rails server thin -p $PORT
Run Code Online (Sandbox Code Playgroud)

如果我在控制台中按控制+ C我操作工头,工头结束但运行过程没有被杀死.当工头被杀时,是否有可能杀死领班跑的过程.

ruby ruby-on-rails foreman

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

测试哈希包含特定键,并且这些键的值不是nil

如何测试方法返回包含特定键的哈希值,并且这些键的值不是使用RSpec的值为零?

ruby rspec

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

ruby用变量执行bash命令

我需要在Ruby脚本中执行Bash命令.根据Nate Murray和其他一些谷歌来源的"6种方式在Ruby中运行Shell命令",大约有6种方法可以做到这一点.

print "enter myid: "
myID = gets
myID = myID.downcase
myID = myID.chomp 
print "enter host: "
host = gets
host = host.downcase
host = host.chomp 
print "winexe to host: ",host,"\n"
command = "winexe -U domain\\\\",ID," //",host," \"cmd\""
exec command 
Run Code Online (Sandbox Code Playgroud)

ruby bash command

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

RSpec 2.7和hash应该是have_key

我试图弄清楚为什么一个非常简单的"这个哈希有这个关键"我正在编写的规范是失败的.进入我的Ruby REPL我正在尝试以下...

[3] pry(main)> a_hash = {:a=>"A"}
=> {:a=>"A"}
[4] pry(main)> a_hash.should have_key :a
NoMethodError: undefined method `have_key' for main:Object
from (pry):4:in `<main>'
[5] pry(main)> a_hash.keys.length.should == 1
=> true
[8] pry(main)> a_hash.has_key? :a
=> true
Run Code Online (Sandbox Code Playgroud)

第一个测试显然是我想要工作的,我正在运行的第二个测试只是为了验证我的REPL环境中是否加载了RSpec.

ruby rspec

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

在本地访问ruby标准库文档

我刚刚进入Ruby - 其中一个让我放心的事情就是Intellisense /代码完成,所以如果我没有这个,我真的需要让API随时关闭.我上周发现了这个发现:

gem server
Run Code Online (Sandbox Code Playgroud)

它启动一个服务器,让您查看所有已安装宝石的文档.有没有相当于这个允许您浏览标准库而不是宝石?

使用Linux/Ruby 1.8.7.

ruby ri

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

用于提取Microsoft Onenote文档信息的库/服务

是否存在PHP/Ruby库或Web服务,可以从Microsoft Onenote文档中以编程方式提取信息?

该解决方案将在Web应用程序后端中实现.

我不是在寻找特定于Windows的解决方案.此外,我不是在寻找需要用户下载应用程序扩展或可安装软件的解决方案.

php ruby web-services onenote

9
推荐指数
1
解决办法
1587
查看次数

标签 统计

ruby ×10

rspec ×3

ruby-on-rails ×2

arel ×1

bash ×1

command ×1

foreman ×1

onenote ×1

php ×1

ri ×1

sql ×1

web-services ×1