[rspec-users] Design Pattern proposal for better Rails development
Ashley Moran
ashley.moran at patchspace.co.uk
Wed Nov 5 11:25:31 EST 2008
On 5 Nov 2008, at 14:28, Fernando Perez wrote:
>> Hmmm, could you make a helper module and mix that into all three
>> controllers? Then there'd be just one place to change it.
>>
> Can you be more descriptive?
Well I was just thinking out loud really. Something like
module SubscriptionStuff
def subscriptions
Subscription.find_if_purchased
end
end
class MyController
include SubscriptionStuff
def show
subscriptions.xyz
end
end
I'm not saying that's a good idea though, it was just my first
reaction to your description.
> Let's say I have:
>
> def show
> Subscription.find_if_purchased
> ...
> end
>
> def update
> Subscription.find_if_purchased
> ...
> end
>
>
> Now if I change the method name to find_if_subscribed in the model,
> then
> necessarily I will have to change it twice in my controller, well I
> could use a before_filter, but what if the method is also called in
> other controllers? That's the main problem. How would you do that?
Find and replace has never bothered me. If I had something that had a
potentially conflicting name, I'd redefine the old method to raise an
error and run the specs again. But I've never needed to do this.
Ashley
--
http://www.patchspace.co.uk/
http://aviewfromafar.net/
More information about the rspec-users
mailing list