auto-link, counter_cache fixes

Posting here because Lighthouse seems to have very low signal-to-noise ratio.

I’ve resolved to solve all known auto-link issues, so I went through all related tickets in Lighthouse and ensured I address each one. Result:

2.3.x http://github.com/mislav/rails/compare/2-3-stable…auto_link_2-3-stable

edge http://github.com/mislav/rails/compare/master…auto_link

I had hoped that 2.3.x fixes got included in 2.3.6 release, but seems like it went under the comitters’ radar. So I rebased and pushed again. This resolves 6 tickets in Lighthouse and backports some fixes from master to 2.3.x.

Unrelated, but why make a new thread: I’ve also rebased my counter_cache cleanup + fixes:

2.3.x http://github.com/mislav/rails/compare/2-3-stable…counter_cache_2-3-stable

edge http://github.com/mislav/rails/compare/master…counter_cache

This refactors tests, fixes the reset_counters method to work with complex class names and, on edge, eliminates some usage of raw SQL in favor of Arel. References ticket #1211

I wish I could say this takes care of other counter cache issues in Lighthouse, but many other remain. A separate test case which I created here will hopefully help contributors to more easily run and add new tests.

I've resolved to solve all known auto-link issues, so I went through all
related tickets in Lighthouse and ensured I address each one. Result:
2.3.x http://github.com/mislav/rails/compare/2-3-stable...auto_link_2-3-stable
edge http://github.com/mislav/rails/compare/master...auto_link
I had hoped that 2.3.x fixes got included in 2.3.6 release, but seems like
it went under the comitters' radar. So I rebased and pushed again. This
resolves 6 tickets in Lighthouse and backports some fixes from master to
2.3.x.

Merged in now, should be good for 2.3.9.

Unrelated, but why make a new thread: I've also rebased my counter_cache
cleanup + fixes:
2.3.x http://github.com/mislav/rails/compare/2-3-stable...counter_cache_2-3-stable
edge http://github.com/mislav/rails/compare/master...counter_cache
This refactors tests, fixes the `reset_counters` method to work with complex
class names and, on edge, eliminates some usage of raw SQL in favor of
Arel. References ticket #1211

Ditto.

I wish I could say this takes care of other counter cache issues in
Lighthouse, but many other remain. A separate test case which I created here
will hopefully help contributors to more easily run and add new tests.

Really nice work mislav, thanks a tonne for the rebasing etc, the
merge was completely painless