One last update: I've run this down to this chunk of code in AR's
named_scope.rb's method_missing:
if current_scoped_methods_when_defined &&
!scoped_methods.include?(current_scoped_methods_when_defined)
with_scope current_scoped_methods_when_defined do
proxy_scope.send(method, *args, &block)
end
else
proxy_scope.send(method, *args, &block)
end
For some reason, named_scope_extensions.rb replaces that method_missing with a
version that doesn't appear to be compatible. Ultimately, this was only
triggered when Rails 2.3.9 changed 'scoped' from a dummy named_scope to a real
class method, which sends the code down the broken path in this case.
No idea what the override in named_scope_extensions.rb is *for*; I suspect it's
got something to do with loading automatic scopes.
--Matt Jones
On Nov 24, 2010, at 8:21 AM, Bryan Larsen wrote:
> Yes, I noticed a subset of that yesterday, and reopened #839:
> https://hobo.lighthouseapp.com/projects/8324/tickets/839-ruby-head-doctests-fail-on-192
>
> Could those affected, please try reverting the change to
> hobo/lib/hobo/scopes/named_scope_extensions.rb in this commit?
>
> https://github.com/tablatom/hobo/commit/07362c9a6b50c2d8d218c5c0532044d6e2f9c63a
>
> It appears that respond_to? was being called for its side effects. (it can
> actually be moved to the previous line -- it doesn't need to be in the if
> statement).
>
> thanks,
> Bryan
>
>
> On 10-11-24 07:14 AM, Gert Thiel wrote:
>> Dear fellow Hobo users.
>>
>> Using the Rails i18n 0.4.2 gem including I18n::Backend::ActiveRecord I
>> discovered that Hobo 1.0.2 kills Rails' chained scopes feature.
>>
>> Model.scoped({ :conditions => {:field1 =>
>> value} }).scoped({ :conditions => {:field2 => another_value} })
>>
>> should return only record filtered by both :field1 and :field2. But if
>> I use Hobo I get all records with :field2 = another_value.
>>
>> With Hobo only the very last scope of every scope chain survives.
>>
>> I created a spec to prove my point:
>>
>> https://github.com/GertThiel/HoboKillsRailsChainedScopes
>>
>> You can observe the bug with Hobo included in the Gemfile or resolve
>> the bug by omitting Hobo from the Gemfile.
>>
>> BTW: This is the part of code of I18n::Backend::ActiveRecord which
>> suffers from the bug:
>>
>> https://github.com/svenfuchs/i18n/blob/v0.4.2/lib/i18n/backend/active_record.rb#L34
>>
>> I'm sorry to have to report such a severe bug.
>>
>> Regards,
>>
>> Gert Thiel
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Hobo Users" 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/hobousers?hl=en.
>
--
You received this message because you are subscribed to the Google Groups "Hobo
Users" 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/hobousers?hl=en.