You can always access it via send():

   Foo.send(:with_scope, ...) do
     # ...
   end

All that making it protected does is make sure people realize they  
are taking their lives into their own hands when they play with it in  
scopes where they shouldn't be playing with it.

- Jamis

On Jun 18, 2007, at 7:47 PM, dasil003 wrote:

>
> I recently upgraded my edge rails in order to take advantage of the
> view_paths patch Rick applied the other day, and discovered with_scope
> is now protected.  I'm well aware of the abuses of with_scope, but
> isn't this approach sort of heavy-handed?  Since when has Rails been
> about protecting programmers from themselves?
>
> If core needed with_scope to implement assocations doesn't it stand to
> reason that a Rails developer might need similar functionality?  Let
> me give you my use case:
>
> class User < ActiveRecord::Base
>   def accessible_property_find(*args)
>     Property.with_scope(:find => accessible_property_options) do
>       Property.find(*args)
>     end
>   end
> end
>
> A couple of things to note here:
>
> * I'm not using this in a controller in a mysterious way, it's in a
> model as it should be, but the protected method is still inaccessible
> since I'm calling it from a different model.
> * An association doesn't do the trick here, the actual conditions vary
> depending on user type and aren't a simple foreign key.
> * I know I could work around this by refactoring the functionality
> into Property and passing the user as a parameter, but that makes my
> code both more complicated and more opaque.  The User should know what
> properties it can access.  A Property shouldn't have any concept of
> the user.
>
> So I'm requesting that this change be rolled back.  Thoughts?
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to