On Nov 22, 2007 8:31 AM, aslak hellesoy <[EMAIL PROTECTED]> wrote: > On Nov 21, 2007 10:22 PM, David Chelimsky <[EMAIL PROTECTED]> wrote: > > > > On Nov 21, 2007 3:14 PM, Daniel N <[EMAIL PROTECTED]> wrote: > > > Hi, > > > > > > I want to be able to get at the described class in my shared > behaviour. I'm > > > sure an example will say it better than my words > > > > > > describe "my shared", :shared => true do > > > > > > it "should tell me what the class is its describing" do > > > how_do_i_get_the_user_class_here > > > end > > > > > > end > > > > > > describe User do > > > it_should_behave_like "my shared" > > > > > > #... > > > end > > > > > > So in my shared behaviour, how do I get access to the User class? > > > > There's no way to do this implicitly. i.e. rspec does not expose the > > class. You'd have to have a method like described_class or something: > > > > describe "my shared", :shared => true do > > > > it "should tell me what the class is its describing" do > > described_class.should do_something_I_care_about > > end > > > > end > > > > describe User do > > def described_class > > User > > end > > ... > > end > > > > > > However, if you do this: > > describe MyModule do # MyModule has a #hello method > it "should be polite" do > hello.should == 'How do you do' > end > end > > Modules are automatically mixed into your examples > > Aslak > > > > > > > > > > > > Cheers > > > Daniel > > > <http://rubyforge.org/mailman/listinfo/rspec-users> >
Aslak Thanx. I was aware of that behaviour, but this module is being mixed into AR classes and relies on there being methods available to AR models. I really want to implemnet these specs as a shared behaviour on each implementing model. That way I can check to make sure that the model has the correct attributes for the mixin to function properly etc. Thanx again. Daniel
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users