Forum: RSpec API for defining top-level DSL methods?

Posted by Sam Goldman (Guest)
on 2011-11-01 15:37
(Received via mailing list)
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.

Thanks,
Sam

1.
https://github.com/jnicklas/capybara/blob/f41018f8...
Posted by David Chelimsky (Guest)
on 2011-11-01 16:22
(Received via mailing list)
On Nov 1, 2011, at 9:34 AM, Sam Goldman wrote:

> 1. 
https://github.com/jnicklas/capybara/blob/f41018f8...
We don't have a formal API, but we should: 
https://github.com/rspec/rspec-core/issues/493

In the mean time, just use alias.

Cheers,
David
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.