如何删除“DEPRECATION:stub! 已弃用。 改为使用存根。“消息?

问题有点奇怪,但我想要的是stub!的替代品stub! 在Rspec中,不会产生弃用警告。 场景: 我用stub! 在我的帮助器规范中存根某些辅助方法。 例如 stub!(:t_with_partner_lookup).and_return(“test”) Rspec比建议使用没有感叹号的stub 。 所以我写(如建议): stub(:t_with_partner_lookup).and_return(“test”) 但是这会产生错误: Stub :t_with_partner_lookup received unexpected message :and_return with (“test”) 在我发现的另一个问题中,我不得不使用helper. 字首。 我做了,但它没有删除弃用警告,而是产生了错误。 helper.stub(:t_with_partner_lookup).and_return(“test”) 生产: undefined method `t_with_partner_lookup’ for # 我也尝试了这种语法但产生了与上面提到的相同的错误: helper.stub(:t_with_partner_lookup){“test”} 存根辅助方法的正确语法是什么? 我使用的gem : 铁轨3.2.17 最新版本的rspec-rails Ruby版本2.1.0

使用Google API Client,如何创建客户端

我正在努力使用Google API客户端: https : //github.com/google/google-api-ruby-client 具体来说,我想使用以下google_contacts_api.rb通过Google API客户端访问Google通讯录: https : //gist.github.com/lightman76/2357338dcca65fd390e2 我试图像这样使用google_contacts_api.rb (x是故意的,实际上是正确的密钥): require ‘./lib/google_contacts_api.rb’ auth = User.first.authentications.first client = OAuth2::Client.new(‘x’, ‘x’, :site => ‘https://accounts.google.com’) oauth2_object = OAuth2::AccessToken.new(client, auth.token) x = ContactList::GoogleContactsApi.new(client, oauth2_object).all_contacts 这是错误的undefined method得到’为#你的意思? gem` 我相信问题是我没有正确发送client ,我无法找到任何显示如何创建client文档或示例。 有关如何使其工作的任何建议? 谢谢

回形针可以从S3铲斗中读取照片几何图形吗?

我想从S3容器中读取照片的几何图形。 当它在我的本地,这工作: def photo_geometry(style = :original) @geometry ||= {} @geometry[style] ||= Paperclip::Geometry.from_file photo.path(style) end 但是当我将模型切换到S3时它似乎不起作用..任何建议? 更重要的是,我正在尝试编写一些代码,允许我从S3中检索照片,允许用户裁剪它们,然后将它们重新上传回仍然由回形针分配的S3。 编辑: 这是返回的错误: Paperclip::NotIdentifiedByImageMagickError: photos/199/orig/greatReads.png is not recognized by the ‘identify’ command. from /Users/daniellevine/Sites/hq_channel/vendor/gems/thoughtbot-paperclip-2.3.1/lib/paperclip/geometry.rb:24:in `from_file’ from /Users/daniellevine/Sites/hq_channel/app/models/photo.rb:68:in `photo_geometry’ from (irb):1

如何在不同版本的gem之间切换?

我在本地计算机上安装了三个版本的机架( rack (1.4.1, 1.3.6, 1.3.5) )。 对于某些gem(如Cucumber ),它需要激活较低版本的rack ? 我试过bundle但没有好处。 执行时, cucumber仍将使用系统版本1.4.1的激活机架。 Bundle指定应安装哪个gem但不确保激活哪个gem 。 我怎么能激活某个版本的rack ?

机架rack.input变量被截断?

我写了一段Rack Middleware来自动解压缩压缩的请求体。 代码似乎工作得很好,但是当我将它插入我的rails应用程序时,我从ActionController :: ParamsParser获得了“Invalid JSON”失败。 作为一种调试机制,我正在将压缩内容和解压缩的内容写入文件(以确保代码正常工作),并且我确实收到了原始的JSON文档(在客户端将其拉出之前)。 我发布的数据是 JSON数据,解压缩的内容被检测为来自http://jsonlint.com的有效JSON。 我有什么想法我做错了吗? class CompressedRequests def initialize(app) @app = app end def call(env) input = env[‘rack.input’].read #output the zipped data we received File.open(‘/Users/ben/Desktop/data.gz’, ‘w+’) do |f| f.write input end if env[‘REQUEST_METHOD’] =~ /(POST|PUT)/ if env.keys.include? ‘HTTP_CONTENT_ENCODING’ new_input = decode(input, env[‘HTTP_CONTENT_ENCODING’]) env[‘rack.input’] = StringIO.new(new_input) #output our decoded data (for […]

为Windows创建Ruby应用程序

我想开发一个Windows应用程序。 老实说,我现在对跨平台很少关心(但仍然会很好) 我想使用Ruby,因为它有一个非常简单的语法,所以..好,简单,易学。 我的应用程序就像一个“游戏关卡创建者”,您可以在其中设计自己的关卡,然后通过阅读创建者应用程序创建的项目文件,使用另一个应用程序(“游戏关卡”)运行它。 你明白了。 现在,我买了一台新PC并且非常干净。 绝对没有我的旧Ruby实验的痕迹和失败。 首先,我需要为我的Ruby应用程序选择一个GUI平台! 你能推荐一个吗? 我听说过Shoes和Tk,但想知道你的想法。

在ruby中运行系统命令并与之交互

我需要在命令行上运行一个命令,要求用户响应。 万一它有助于命令是: gpg –recipient “Some Name” –encrypt ~/some_file.txt 当你运行它时,它警告某事然后问: 无论如何要使用此密钥? (Y / N) 回答’y’让它正确完成。 我一直在尝试使用open4 gem但我无法正确指定’y’。 这是我尝试过的: Open4::popen4(cmd) do |pid, stdin, stdout, stderr| stdin.puts “y” stdin.close puts “pid : #{ pid }” puts “stdout : #{ stdout.read.strip }” puts “stderr : #{ stderr.read.strip }” end 我究竟做错了什么? 我正在做什么甚至可能?

Bundler抛出没有用于gem安装的文件或目录

在Gemfile中, gem “backup”, :git => “git://github.com/tenmiles/backup.git”, :ref => “develop” n本地和暂存, bundle install确实成功完成。 在生产中,当bundle install –deployment发生时,bundler会抛出此错误 Using backup (3.0.19) from git://github.com/tenmiles/backup.git (at develop) /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:365:in `initialize’: No such file or directory – /home/anand/public_html/myapp/releases/20111113170352/vendor/bundle/ruby/1.9.1/bundler/gems/gems/backup-3.0.19/bin/backup (Errno::ENOENT) 我查了/home/anand/public_html/myapp/releases/20111113170352/vendor/bundle/ruby/1.9.1/bundler/gems/gems/,backup-150fb5168ebe就在那里! 它是通过git安装的gem。 为什么bundler在寻找backup-3.0.19。 如何刷新备份gem并要求bundler从头开始重新安装gem。 请帮忙

Ruby图形库

RMagic,ImageMagick,GD等有什么区别我应该使用哪一个? 我一直在寻找缩略图生成脚本,并注意到我发现的每个脚本都使用不同的库来执行相同的操作。

访问formtastic中的表单对象

所以我正在制作一个调查应用程序。 用户在后端选择一种表单,并在前端显示为某种类型。 当然,这只是理想情况。 现在发生的事情是我无法访问formtastic构建表单的对象。 怎么说“question.kind”呢? 它只会出错。 这是我到目前为止所拥有的…… = semantic_form_for @survey, :url => “#”, :html => { :method => “get” } do |f| – for question in @survey.questions = user_facing_question(f) 到目前为止,补充辅助方法是这样的: def user_facing_question(f) f.inputs end