Tag: rubygems

在Gemfile中设置环境,以便根据自定义文件捆绑安装/更新

嗨,我建立了一个sinatra应用程序,捆绑的主要文件如下, 的environment.rb require ‘sinatra’ require ‘sequel’ ENV[‘RACK_ENV’] = ‘development’ configure :production do #do something end configure :development, :test do #do something end 的Gemfile gem ‘sinatra’ gem ‘sequel’ gem ‘pg’, :group => :production gem ‘sqlite3′, :group => [:development, :test] 那么,如何在我的environment.rb文件中基于ENV [‘RACK_ENV’]安装bundle。

如何访问我在Selenium Webdriver中添加的Firefox扩展?

我知道您可以加载现有的Firefox配置文件,或者在selenium-webdriver gem中使用Ruby Bindings创建一个,如下所述: http://code.google.com/p/selenium/wiki/RubyBindings 然后使用add_extension向实例添加任意数量的Firefox扩展,但那又是什么? 我正在使用的扩展窗口在测试期间不会出现。 我该如何使用扩展程序? 有没有办法在驱动程序打开Firefox时默认打开扩展程序? 这是我正在使用的代码: #!/usr/bin/env ruby require “rubygems” require “selenium-webdriver” default_profile = Selenium::WebDriver::Firefox::Profile.from_name “default” default_profile.add_extension(“/Users/******/Library/Application Support/Firef\ ox/Profiles/wvon3h99.default/extensions/{9c51bd27-6ed8-4000-a2bf-36cb95c0c947}.\ xpi”) driver = Selenium::WebDriver.for(:firefox, :profile => default_profile) driver.navigate.to “http://google.com” element = driver.find_element(:name, ‘q’) element.send_keys “Hello WebDriver!” element.submit puts driver.title driver.quit

Ruby JSON.pretty_generate ……非常不合适

我似乎无法让JSON.pretty_generate()在Rails中实际生成漂亮的输出。 我正在使用Rails 2.3.5,它似乎自动加载JSON gem。 真棒。 使用script/console这确实产生了JSON: some_data = {‘foo’ => 1, ‘bar’ => 20, ‘cow’ => [1, 2, 3, 4], ‘moo’ => {‘dog’ => ‘woof’, ‘cat’ => ‘meow’}} some_data.to_json => “{\”cow\”:[1,2,3,4],\”moo\”:{\”cat\”:\”meow\”,\”dog\”:\”woof\”},\”foo\”:1,\”bar\”:20}” 但是这不会产生很好的输出 : JSON.pretty_generate(some_data) => “{\”cow\”:[1,2,3,4],\”moo\”:{\”cat\”:\”meow\”,\”dog\”:\”woof\”},\”foo\”:1,\”bar\”:20}” 我发现生成它的唯一方法是使用irb并加载“Pure”版本: require ‘rubygems’ require ‘json/pure’ some_data = {‘foo’ => 1, ‘bar’ => 20, ‘cow’ => [1, 2, 3, 4], […]

使用Ruby Enterprise Edition,gem没有安装在我期望的地方

我刚刚安装了Ruby Enterprise Edition,并为它安装了一些gem。 库存Ruby 1.8.6也安装在服务器上。 我已将/opt/ruby-enterprise-1.8.6-20090201/bin添加到我的PATH这是/usr/bin的头部,其中ruby和gem存在。 which gem证实了这一点: /opt/ruby-enterprise-1.8.6-20090201/bin/gem 但是,当我安装这样的gem时: gem install some_gem 它们最终在/usr/lib/ruby/gems/1.8/gems/而不是/opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/ 。 但是如果我使用/opt/ruby-enterprise-1.8.6-20090201/bin/gem install some_gem它会进入REE的gem目录。 我不明白。 是否有一些配置选项我必须改变? 我在这里使用sudo。 也许这与它有关?

编写gem时设置配置设置

我正在写一个我想要使用的gem,没有Rails环境。 我有一个Configuration类来允许配置gem: module NameChecker class Configuration attr_accessor :api_key, :log_level def initialize self.api_key = nil self.log_level = ‘info’ end end class << self attr_accessor :configuration end def self.configure self.configuration ||= Configuration.new yield(configuration) if block_given? end end 现在可以这样使用: NameChecker.configure do |config| config.api_key = ‘dfskljkf’ end 但是,我似乎无法从我的gem中的其他类访问我的配置变量。 例如,当我在spec_helper.rb配置gem时, spec_helper.rb所示: # spec/spec_helper.rb require “name_checker” NameChecker.configure do |config| config.api_key = […]

gem跟踪用户活动

是否有一个很好的gem来跟踪/记录网站上的用户活动? 就像他们登录,注销或执行改变网站上某些内容的操作一样(非GET请求)。

3.days.ago,2.hours.from_now等没有Rails?

有些书提到了一些用#days , #megabytes , #minutes #days来装饰数字的gem等。这只是在ActiveSupport中,还是有一个较小的gem提供这个function用于(小)非铁轨gem? 我想在一个小小的gem中使用这个function作为DSL的一部分。

干净安装OSX 10.9.1在尝试安装gem时返回“undefined method`path2class’”

我刚用Homebrew和RVM安装了一个干净的Mavericks安装。 brew doctor和rvm requirements返回“all good”,但是,当我在我的项目中运行bundle install ,我的大多数gem都安装得很好,但是少数几个安装失败时出现同样的错误: Bundler::GemspecError: Could not read gem at /Users/NK/.rvm/gems/ruby-2.0.0-p353/cache/eventmachine-1.0.3.gem. It may be corrupted. An error occurred while installing eventmachine (1.0.3), and Bundler cannot continue. Make sure that `gem install eventmachine -v ‘1.0.3’` succeeds before bundling. 然后,如果我再次尝试使用gem install eventmachine -v ‘1.0.3’我会得到: ERROR: Error installing eventmachine: invalid gem: package is corrupt, exception […]

rbenv应该在系统范围内安装还是在用户级安装?

我正在建立一个流浪汉设置,其中一部分是安装rbenv。 我正在使用图书管理员厨师管理我所有的厨师食谱,并安装了rbenv和ruby-build。 但是,当我尝试ssh到我的Vagrant VM并输入ruby -v我得到了标准的系统安装的ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux] 。 考虑到可能没有安装rbenv,我尝试运行rbenv versions ,但事实上安装了rbenv: vagrant@precise64:~$ rbenv versions * system (set by /opt/rbenv/version) 那么我试过rbenv install [version] : vagrant@precise64:~$ rbenv install 1.9.3-p327 […] BUILD FAILED […] test -z “/opt/rbenv/versions/1.9.3-p327/include” || /bin/mkdir -p “/opt/rbenv/versions/1.9.3-p327/include” /bin/mkdir: cannot create directory `/opt/rbenv/versions/1.9.3-p327′: Permission denied 失败, Permission denied 。 我尝试用sudo重新安装: sudo rbenv […]

如何获取已安装具有本机扩展名的gem列表?

我在Windows上,并已从ruby 1.8.x更新到1.9.x,现在我收到错误弹出窗口,抱怨ruby-mssomethingrt.1.8.x.dll丢失。 我想找出哪些gems具有原生扩展,因此我可以卸载它们并在安装期间强制在本地重建本机扩展,以使错误消失。