[rspec-users] API for defining top-level DSL methods?

Sam Goldman samwgoldman at gmail.com
Tue Nov 1 10:34:02 EDT 2011

I am in the process of writing a simple DSL inside of rspec, which defines
some methods that wrap describe/example and augment the metadata, like
capybara's "feature/scenario" methods. From the excellent RSpec book, I
know how to use Configuration to extend RSpec in a forward-compatible way,
but it is unclear to me how to define methods on the very top-level, so I
could write specs like this:

require 'my_class'
describify 'something funky' do; ...; end

I looked into how capybara is doing it, and I see that when one includes
'capybara/rspec' that causes a class-level method to be defined in the
"global" scope[1]. Is this the preferred way of defining such a method for
use in RSpec DSLs, or is there a better way? I have been able to use this
method successfully.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20111101/f186a56b/attachment.html>

More information about the rspec-users mailing list