On Jul 30, 2010, at 10:57 AM, Ashley Moran wrote:

> 
> On Jul 30, 2010, at 3:10 pm, David Chelimsky wrote:
> 
>> Maybe that, or a DSL that wraps that, is the better way, so we can get the 
>> best of both worlds?
>> 
>> shared_examples_for Enumerable do
>> require_instance_method :foo, "gotta have foo instance method"
>> require_class_method :foo, "gotta have foo class method"
>> require_instance_variable "@foo", "gotta have an instance variable named 
>> @foo"
>> it "..." { .. }
>> end
>> 
>> Thoughts?
> 
> Actually, I *much* prefer this, as it makes it explicit what the host spec 
> must provide in order to have the shared behaviour.  (Wincent's email has 
> just popped up so consider this a response to his message too.)  I lean 
> towards making things fail as early and explicitly as possible, as it reduces 
> the total worldwide developer head-scratching time.  
> InvalidSharedExampleUsageError("Must provide instance method :foo") or some 
> such wins for me over NoMethodError("undefined method foo on <#Class ...>").  
> There should be no _requirement_ to use this DSL though, so the key would be 
> to make sure it doesn't muddy the RSpec code.
> 
> This is probably something that could be solved in code quicker than debate.  
> It's a yak I'm happy to shave before getting back to my own project as it 
> impacts what I'm working on ... want me to have a look at it this evening, 
> David?  I can fork rspec-core and play around with the idea.

By all means.

> Regards
> Ash

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to