我已经设置了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) 在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)
那个::在它的开头是什么意思?
我刚刚创建了一个超级简单的Rails 3.1引擎https://github.com/millisami/mero_cms,它可以工作.
它只支持ActiveRecord.现在我想添加额外的或只是添加MongoId ORM以使其有点不可知.
既然设计也支持MongoId,我查看了它的代码,但我的专业知识无法弄清楚移动的红宝石部分.
那么,在其他地方有什么/帖子或关于如何添加用户可配置的ORM MongoId支持的解释吗?
在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)
怎么了?
我在我的一个适用于mysql的模型中有以下条件.
with_scope :find => { :conditions => "starts_at <= now() AND ends_at >= now()" }
Run Code Online (Sandbox Code Playgroud)
但我在sqlite3测试数据库上得到错误,因为now()仅针对mysql db.那个now()函数的db不可知方式是什么?
我正在设置我的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) 如何在厨师食谱中转换以下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) 经常听说Open/Closed主体说一个类应该是Open for extension而Closed是为了修改.在抽象层面听起来很棒.
但在Ruby OOP领域是否有任何实际使用的例子?
我正在尝试使用capistrano和rbenv在prod服务器上部署rails 3.2 app.
Bundle失败所以我想覆盖bundle:install回调钩子但是我找不到capistrano gem sorce中的方法.
这个/哪个文件声明了?
ruby ×3
rubygems ×2
bundler ×1
capistrano ×1
chef-infra ×1
chef-recipe ×1
class ×1
cucumber ×1
module ×1
mysql ×1
namespaces ×1
rbenv ×1
reflection ×1
rspec ×1
shoulda ×1
sqlite ×1
tmux ×1
vagrant ×1