After several years at the helm, David Chelimsky is handing over the reins to Myron Marston and Andy Lindeman for RSpec and rspec-rails respectively. Thanks for all your hard work, David.
Upgrading to Rails 4: A Forthcoming Book (in Beta)
Andy Lindeman of the RSpec core team is working on a new book designed to bring you up to speed with Rails 4. It's in beta so you can support him now, if you like.
Reading
Andrei Lisnic…
Myron Marston is taking over leadership of the RSpec project, and will be the lead maintainer of the rspec-core, rspec-expectations, and rspec-mocks gems.
Andy Lindeman is taking over as lead maintainer of the rspec-rails gem.
Myron Marston is RSpec's new project lead
Myron Marston has been contributing to RSpec since the ramp up to the 2.0 release in 2010, and joined the core team in early 2011. In addition to solid contributions to the code base, Myron has taken responsibility …
…shouldn't override. Instead, define ExampleGroup#parent_groups . ( Myron Marston)
Limit monkey patching of shared example/context declaration methods ( shared_examples_for , etc.) to just the objects that need it rather than every object in the system ( Myron Marston).
Fix Metadata#fetch to support computed values ( Sam Goldman).
Named subject can now be referred to from within subject block in a nested group (tomykaira).
Fix fail_fast so that it properly exits when an …
It's not out yet but Myron Marston gives us a look at a new feature coming to the forthcoming RSpec 2.11: the ability to stub constants.
Adding SMS Capabilities to Your Rails App With Twilio
Vim for Ruby on Rails (and A Sexy Theme!)
Last week's link to using Sublime Text 2 was popular but this week's turn is Vim! Aston J aims to show off why Vim is a good choice for Rails development along with a bevy of commands.
9 FactoryGirl Tips…
…hook error. Previously, the error was silenced and the user got no feedback about what happened. ( Myron Marston)
--require and -I are merged among different configuration sources ( Andy Lindeman)
Delegate to mocha methods instead of aliasing them in mocha adapter.
rspec-expectations-2.11.0
Enhancements
Expand expect syntax so that it supports expections on bare values in addition to blocks ( Myron Marston).
Add configuration options to control available …
Myron Marston shows off a new syntax for expectations in RSpec. It looks like "expect(foo).to eq(bar)" versus the more typical "foo.should eq(bar)". What's the motivation? Learn more here.
Removing config.threadsafe! from Rails
Core Rails developer Aaron ' tenderlove' Patterson looks at why the 'config.threadsafe!' directive can be removed from Rails and demonstrates the issues involved.
Rails Pull Request: Enable threadsafe! …
Myron Marston draws attention to Sinatra's 'halt' method which you can use to immediate stop a request within a filter or route, and explains why he likes it for handling exceptions in Sinatra apps.
Replace Your Test Helpers with a Reusable API
Eric Hodel makes an interesting argument that instead of leaning on test helper files all of the time, perhaps there are common bits of functionality you can bake into your library or app's own APIs.
assert_nothing_tested.. …
Improved failure message for the have_xxx matcher ( Myron Marston)
HaveMatcher supports count ( Matthew Bellantoni)
Change matcher dups Enumerable before the action, supporting custom Enumerable types like CollectionProxy in Rails ( David Chelimsky)
Bug fixes
Fix typo in have(n).xyz documentation ( Jean Boussier)
fix safe_sort for ruby 1.9.2 ( Kernel now defines <=> for Object) ( Peter van Hardenberg)
rspec-mocks-2.7.0
rspec-core-2.6.0
Enhancements
shared context ( Damian Nurzynski)
extend groups matching specific metadata with:
method definitions
subject declarations
let/let! declarations
etc (anything you can do in a group)
its([:key]) works for any subject with #[]. ( Peter Jaros)
treat symbols as metadata keys with true values ( Myron Marston)
Print a deprecation warning when you configure RSpec after defining an example. All configuration should happen before any examples are defined. ( Myron Marston)
treat symbols as metadata keys with true values ( Myron Marston)
Print a deprecation warning when you configure RSpec after defining an example. All configuration should happen before any examples are defined. ( Myron Marston)
Pass the exit status of a DRb run to the invoking process. This causes specs run via DRb to not just return true or false. ( Ilkka Laukkanen)
Refactoring of ConfigurationOptions#parse options ( Rodrigo Rosenfeld Rosas)
Report excluded filters in runner …