Commits
978ec98c8e and
51676652a3
changed database statements to use the schema_cache methods, added on
master in
c99e34e90d763c52cbe8dc3d950ed1b4db665dc4 and
dc973e78560a6514ab172f0ee86dc84a9147d39a
But apparently the methods weren't added to schema_cache, resulting in
the failure described in #8322 for 3-2-stable.
Fixes#8322.
Conflicts:
activerecord/lib/active_record/connection_adapters/schema_cache.rb
Don't call will_change! for datetime nil->"".
Setting a nil datetime attribute to a blank string should not cause the
attribute to be dirty.
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb
Postgresql doesn't accepts limits on text columns
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
Add test to ensure preloading works as expected with "group", "select" and "includes".
Conflicts:
activerecord/test/cases/relations_test.rb
Chery-pick a739340d3c9e66814429af6f3f410c01ff86810a:
Ensure ordering to make the test pass with postgresql
Conflicts:
activerecord/test/cases/relations_test.rb
If you generate a full engine, this will include rake tasks from
your gem under the `app` namespace. For example if you have a dependency
on `rspec-rails` in your engine's `gemspec`. You will get the task `app:spec`
Closes#8229
Conflicts:
railties/CHANGELOG.md
It's safe to use `nil?` instead of `blank?` because it's impossible to get an array on finder with bang;
`all_by` finder matches against regex without bang: `when /^find_(all_|last_)?by_([_a-zA-Z]\w*)$/`.
Fixes#7238
This reverts commit c3e186ec8d.
Reason: too many incompatibilities make a lot of Rails tests fail in 1.9.
Might need more work to get this done properly in 3-2 if necessary.
Mocha is now using a single AssertionCounter which needs a reference to
the testcase as opposed to the result.
This change is an unfortunate consequence of the copying of a chunk of
Mocha's internal code in order to monkey-patch Test::Unit.
ActiveSupport::TestCase was always inheriting from Test::Unit::TestCase.
This works fine in Ruby 1.9 where Test::Unit::TestCase is a thin wrapper
around MiniTest::Unit::TestCase, but does not work in Ruby 1.8 if the
MiniTest gem is used. What happens is that ActiveSupport inherits from
the Test::Unit::TestCase provided by the standard library, but then
since Minitest is defined, it then seems to proceed on the assumption
that ActiveSupport::TestCase has MiniTest::Unit::TestCase in its
ancestor chain. However, in this case it does not.
The fix is simply to choose which test library TestCase to inherit from
using the same logic used elsewhere to detect MiniTest.
I noticed this bug causing issues when using MiniTest and Mocha
in Ruby 1.8, but there may well be other issues.
A bug was fixed [1] in Mocha's integration with Test::Unit, but this
monkey-patching code was copied before the fix. We need to copy the
fixed version.
The bug meant that an unexpected invocation against a mock within the
teardown method caused a test *error* and not a test *failure*.
[1]
f1ff6475ca (diff-5)
Setting options in a custom `#as_json` method had side effects.
Modifications of the `options` hash leaked outside and influenced
the conversion of other objects contained in the hash.
Conflicts:
activesupport/CHANGELOG.md