小编Aut*_*act的帖子

带有rspec2 beta 5和rails3 beta2的shoulda宏

我已经设置了Rspec2 beta5,并且如下所示在rspec模型测试中使用了shoulda宏.

=================

更新2011年2月18日

现在我们可以使用开箱即用的应用匹配器.

只需gem shoulda-matchers在spec_helper或任何hack中添加Gemfile和其他内容.它只是运行.

=================

的Gemfile

group :test do
  gem "rspec", ">= 2.0.0.beta.4"
  gem "rspec-rails", ">= 2.0.0.beta.4"
  gem 'shoulda',          :git => 'git://github.com/bmaddy/
shoulda.git'
  gem "faker"
  gem "machinist"
  gem "pickle",           :git => 'git://github.com/codegram/
pickle.git'
  gem 'capybara',         :git => 'git://github.com/jnicklas/
capybara.git'
  gem 'database_cleaner', :git => 'git://github.com/bmabey/
database_cleaner.git'
  gem 'cucumber-rails',   :git => 'git://github.com/aslakhellesoy/
cucumber-rails.git'
end
Run Code Online (Sandbox Code Playgroud)

spec_helper.rb

Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}

require 'shoulda'

Rspec.configure do |config|
Run Code Online (Sandbox Code Playgroud)

规格/型号/ outlet_spec.rb

require 'spec_helper'

describe Outlet do
  it { should validate_presence_of(:name) }
end …
Run Code Online (Sandbox Code Playgroud)

rspec shoulda ruby-on-rails-3

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

ruby中类名之前的:: sign /运算符是什么?

在ruby中,::命名空间模块和类.但我经常看到::在类名的开头,如下所示:

#snippet of gollum gem
def page_class
  @page_class ||
    if superclass.respond_to?(:page_class)
      superclass.page_class
    else
      ::Gollum::Page
    end
end
Run Code Online (Sandbox Code Playgroud)

那个::在它的开头是什么意思?

ruby namespaces module class

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

如何为Rails 3.1引擎添加对其他ORM的支持?

我刚刚创建了一个超级简单的Rails 3.1引擎https://github.com/millisami/mero_cms,它可以工作.

它只支持ActiveRecord.现在我想添加额外的或只是添加MongoId ORM以使其有点不可知.

既然设计也支持MongoId,我查看了它的代码,但我的专业知识无法弄清楚移动的红宝石部分.

那么,在其他地方有什么/帖子或关于如何添加用户可配置的ORM MongoId支持的解释吗?

rubygems ruby-on-rails-3.1

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

Tmux的某些设置不起作用

在Mac Mountain lion上,通过Homebrew安装了tmux.

某些设置如下所示不起作用:

setw -g pane-base-index 1
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
Run Code Online (Sandbox Code Playgroud)

然后错误:

/Users/millisami/.tmux.conf: 52: unknown option: pane-base-index
/Users/millisami/.tmux.conf: 53: unknown option: mouse-resize-pane
/Users/millisami/.tmux.conf: 55: unknown option: mouse-select-window
Run Code Online (Sandbox Code Playgroud)

怎么了?

tmux

4
推荐指数
1
解决办法
3865
查看次数

数据库不可知now()datetime函数?

我在我的一个适用于mysql的模型中有以下条件.

with_scope :find => { :conditions => "starts_at <= now() AND ends_at >= now()" }
Run Code Online (Sandbox Code Playgroud)

但我在sqlite3测试数据库上得到错误,因为now()仅针对mysql db.那个now()函数的db不可知方式是什么?

mysql sqlite ruby-on-rails

2
推荐指数
1
解决办法
144
查看次数

黄瓜的特点 - 引用

我正在设置我的Authlogic用户会话功能.而且我有些困惑.当我跑:

cucumber features 
Run Code Online (Sandbox Code Playgroud)

我收到一些红色错误

     Scenario: User signs in successfully                           # features/user_sessions.feature:21
        Given a user exists with login: "sachin", password: "secret" # features/step_definitions/pickle_steps.rb:4
        When I go to the login page                                  # features/step_definitions/webrat_steps.rb:15
        And I login as "sachin" with password "secret"               # features/step_definitions/user_session_setps.rb:5
        Then I should see "Login successful"                         # features/step_definitions/webrat_steps.rb:123
        And I should be logged in                                    # features/user_sessions.feature:26
          Ambiguous match of "I should be logged in":

          features/step_definitions/pickle_steps.rb:55:in `/^((?:(?:I|myself|me|my)|(?:(?:a|an|another|the|that) )?(?:(?:(?:(?:first|last|(?:\d+(?:st|nd|rd|th))) )?(?:user))|(?:(?:user)(?::? "(?:[^\"]|\.)*"))))) should (?:be|have) (?:an? )?((?:duplicable|readonly|nil|store[_ ]full[_ ]sti[_ ]class|new[_ ]record|equal|present|eql|marked[_ ]for[_ ]destruction|valid[_ …
Run Code Online (Sandbox Code Playgroud)

cucumber

2
推荐指数
1
解决办法
2059
查看次数

任何ruby库来检查某些方法的参数是什么?

是否有任何库可以检查和显示方法所采用的参数?

ruby reflection rubygems

2
推荐指数
1
解决办法
391
查看次数

如何在厨师食谱中转换以下shell命令?

如何在厨师食谱中转换以下shell命令?

安装

sudo easy_install pygments
sudo echo 'export RAILS_ENV=production' >> ~/.bash_profile
sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git
ssh-keygen -t rsa
sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

echo "gem: --no-rdoc --no-ri" > ~/.gemrc
rvmsudo gem install passenger
rvmsudo passenger-install-nginx-module
Run Code Online (Sandbox Code Playgroud)

为nginx创建Upstart文件

sudo vim /etc/init/nginx.conf

description "Nginx HTTP Server"

start on filesystem
stop on runlevel [!2345]

respawn

exec /opt/nginx/sbin/nginx -g "daemon off;"
Run Code Online (Sandbox Code Playgroud)

重启虚拟机

sudo shutdown -r now
Run Code Online (Sandbox Code Playgroud)

验证nginx正在运行

sudo initctl …
Run Code Online (Sandbox Code Playgroud)

chef-infra chef-recipe vagrant

2
推荐指数
1
解决办法
6546
查看次数

在OOP中打开/关闭主体?

经常听说Open/Closed主体说一个类应该是Open for extension而Closed是为了修改.在抽象层面听起来很棒.

但在Ruby OOP领域是否有任何实际使用的例子?

ruby

2
推荐指数
1
解决办法
670
查看次数

capistrano部署rails3.2 app中的bundle:install命令在哪里?

我正在尝试使用capistrano和rbenv在prod服务器上部署rails 3.2 app.

Bundle失败所以我想覆盖bundle:install回调钩子但是我找不到capistrano gem sorce中的方法.

这个/哪个文件声明了?

capistrano bundler rbenv

2
推荐指数
1
解决办法
2899
查看次数