| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Relaxed jbuilder dependency in Gemfile template
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fixed bad tests to clean up after themselves.
|
|/ / / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add a test case for comparing Rails versions
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | | |
https://github.com/rails/rails/commit/558d402472b49c4c99bf6753d341d7aef2e25dd4
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
commit 2683de5da85135e8d9fe48593ff6167db9d64b18
Author: Aaron Patterson <aaron.patterson@gmail.com>
Date: Fri May 3 11:29:20 2013 -0700
cannot support infinite ranges right now
commit cebb6acef2c3957f975f6db4afd849e535126253
Author: Aaron Patterson <aaron.patterson@gmail.com>
Date: Fri May 3 11:26:12 2013 -0700
reverting infinity comparison
commit 385f7e6b4efd1bf9b89e8d607fcb13e5b03737ea
Author: Aaron Patterson <aaron.patterson@gmail.com>
Date: Fri May 3 11:23:28 2013 -0700
Revert "Added ability to compare date/time with infinity"
This reverts commit 38f28dca3aa16efd6cc3af6453f2e6b9e9655ec1.
Conflicts:
activesupport/CHANGELOG.md
activesupport/lib/active_support/core_ext/numeric/infinite_comparable.rb
activesupport/test/core_ext/date_ext_test.rb
activesupport/test/core_ext/date_time_ext_test.rb
activesupport/test/core_ext/numeric_ext_test.rb
activesupport/test/core_ext/time_ext_test.rb
activesupport/test/core_ext/time_with_zone_test.rb
commit 0d799a188dc12b18267fc8421675729917610047
Author: Aaron Patterson <aaron.patterson@gmail.com>
Date: Fri May 3 11:18:53 2013 -0700
Revert "Refactor infinite comparable definition a bit"
This reverts commit dd3360e05e4909f2f0c74a624cccc2def688f828.
commit 42dec90e49745bbfae546f0560b8783f6b48b074
Author: Aaron Patterson <aaron.patterson@gmail.com>
Date: Fri May 3 11:18:47 2013 -0700
Revert "Require 'active_support/core_ext/module/aliasing' in the infinite_comparable module"
This reverts commit 7003e71c13c53ec3d34250560fbf80b8381df693.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A regression was introduced in 5b3bb6, generating route from within an
engine to an another engine resulted in prefixing a path with the
SCRIPT_NAME value.
The regression was caused by the fact that SCRIPT_NAME should be
appended only if it's the SCRIPT_NAME for the application, not if it's
SCRIPT_NAME from the current engine.
closes #10409
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
Do not overwrite manually built records during one-to-one nested attribute assignment
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
assignment
For one-to-one nested associations, if you build the new (in-memory)
child object yourself before assignment, then the NestedAttributes
module will not overwrite it, e.g.:
class Member < ActiveRecord::Base
has_one :avatar
accepts_nested_attributes_for :avatar
def avatar
super || build_avatar(width: 200)
end
end
member = Member.new
member.avatar_attributes = {icon: 'sad'}
member.avatar.width # => 200
|
|\ \ \ \
| | | | |
| | | | | |
autosave_association issue that occurs when table has unique index (resubmission)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
fixes bug introduced by #3329
These are the conditions necessary to reproduce the bug:
- For an association, autosave => true.
- An association record is being destroyed
- A new association record is being created.
- There is a unique index one of the association's fields.
- The record being created has the same value as the record being
destroyed on the indexed field.
Before, the deletion of records was postponed until after all
insertions/saves. Therefore the new record with the identical value in
the indexed field caused a non-unique value error to be thrown at the database
level.
With this fix, the deletions happen first, before the insertions/saves.
Therefore the record with the duplicate value is gone from the database
before the new record is created, thereby avoiding the non-uniuqe value
error.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Use faster Array.new instead of []*padding
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
wangjohn/making_callbacks_more_performant"
This reverts commit 09751fdc847c25237891a8fcb0c2312e39bbe86d, reversing
changes made to 6a5ab08d21c4284a05f5e34484b18a91d4e5c50c.
This change caused a failure in
actionpack/test/abstract/callbacks_test.rb.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
MiniTest 4.7.3 detects the presence of SIGINFO and stores the answer in
a constant.
It seems that MiniTest 4.7.4 changes this, and instead relies on an
info_signal method being implemented on the runner object.
In ActiveSupport::Testing::Isolation, we use ProxyTestResult to stand in
for the runner object. This object implements `method_missing`, and as
such its #info_signal method has a truthy return value. This results in
MiniTest trying to install the SIGINFO handler on platforms where
SIGINFO does not exists.
To fix, I am simply defining an explicit ProxyTestResult#info_signal
method.
|
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
test_mysql_integer_not_null_defaults in test/cases/defaults_test.rb was
failing. This test relies on the connection being in strict mode. By
default a new connection is not in strict mode, but Active Record
automatically places it in strict mode.
ActiveSchemaTest overwrites the connection's #execute method in order to
prevent SQL statements from actually being executed. One of the
operations which is performed in ActiveSchema test is a #recreate_database.
Since 2088bf27981137a2c6c8b2f718f33b417b4045af, recreate_database on
mysql or mysql2 will trigger a reconnect.
Due to the implementation of the hacking of #execute in
ActiveSchemaTest, this reconnect would take place, but the connection
would *not* be placed in strict mode because #execute had been
overridden to prevent SQL queries hitting the database.
Therefore, after ActiveSchemaTest, the connection would no longer be in
strict mode, causing test_mysql_integer_not_null_defaults to fail.
I don't think that the way that ActiveSchemaTest is implemented is
particularly nice or clean, but I have taken steps to make its hacks
more isolated - it now create a separate connection object which is
thrown away after the test, and the hacks are applied on the singleton
class of this object.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Restore ActiveRecord connection to original environment after rake:db:test:prepare task.
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Improving the performance of callbacks
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
callbacks in the CallbackChain, so you don't have to iterate over all
callbacks when checking for duplicates.
Benchmark results when the tests in
activerecord/test/cases/associations_test.rb were run with and without
the change:
== On master (when scanning all of the callbacks):
---------------------------------------------------------
% cumulative self self total
time seconds seconds calls ms/call ms/call name
---------------------------------------------------------
1.85 9.26 0.82 18412 0.04 0.05
ActiveSupport::Callbacks::Callback#matches?
1.22 12.32 0.54 18412 0.03 0.08
ActiveSupport::Callbacks::Callback#duplicates?
0.93 14.61 0.41 19600 0.02 0.21
ActiveSupport::Callbacks::CallbackChain#remove_duplicates
Finished tests in 1.217065s, 30.4010 tests/s, 53.4072 assertions/s.
---------------------------------------------------------
== On my branch (when using a hash to check callback duplication):
---------------------------------------------------------
% cumulative self self total
time seconds seconds calls ms/call ms/call name
---------------------------------------------------------
0.15 29.63 0.06 1188 0.05 0.72
ActiveSupport::Callbacks::CallbackChain#handle_duplicates
0.00 40.50 0.00 84 0.00 0.12
ActiveSupport::Callbacks::Callback#matches?
0.00 40.50 0.00 84 0.00 0.12
ActiveSupport::Callbacks::Callback#duplicates?
0.00 40.50 0.00 91 0.00 0.22
ActiveSupport::Callbacks::CallbackChain#scan_and_remove_duplicates
Finished tests in 1.117757s, 33.1020 tests/s, 58.1522 assertions/s.
---------------------------------------------------------
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add parameter :sslcompression to PostgreSQL adapter.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
It is new in PostgreSQL-9.2 .
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
Add styling to h1 for default rescue layout
|
| | |_|_|_|/
| |/| | | | |
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
Refactoring the creation of TestTasks to remove code duplication.
|
|/ / / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Add test for `AR::Base#to_param`
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
According to the doc of `AR::Base#to_param`(
https://github.com/rails/rails/blob/04cda1848cb847c2bdad0bfc12160dc8d554
7775/activerecord/lib/active_record/integration.rb#L18 ), it returns
`nil` if the record is not persisted.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix typo in test
|
| | |_|/ /
| |/| | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Fixes Dependency bug in Active Support
|
|/ / / /
| | | |
| | | |
| | | | |
DateTime defined in date.rb
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Extract tests code out from AR's base_test.rb to integration_test.rb
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`AR::Base#to_param` and `AR::Base#cache_key` is defined at
active_record/integration.rb, so tests for those methods should be at
integration_test.rb
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
patricksrobertson/convert_activemodel_to_new_hash_syntax
Convert ActiveModel to 1.9 hash syntax.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
I also attempted to fix other styleguide violations such as
{ a: :b } over {a: :b} and foo(b: 'bar') over foo( b: 'bar' ).
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
chancancode/handle_aliased_attributes_in_ar_relation
Handle aliased attributes in AR::Relation
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When using symbol keys, ActiveRecord will now translate aliased attribute names to the actual column name used in the database:
With the model
class Topic
alias_attribute :heading, :title
end
The call
Topic.where(heading: 'The First Topic')
should yield the same result as
Topic.where(title: 'The First Topic')
This also applies to ActiveRecord::Relation::Calculations calls such as `Model.sum(:aliased)` and `Model.pluck(:aliased)`.
This will not work with SQL fragment strings like `Model.sum('DISTINCT aliased')`.
Github #7839
*Godfrey Chan*
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Introduced in 09ac1776abc0d3482f491f2d49f47bcb3d9a4ad7.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Use constant for encoding
|
| | |_|/ /
| |/| | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Allow override of PostgreSQL UUID primary key default
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
without this, it's not possible to use UUID primary keys without uuid-ossp installed and activated
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Make railties version match RAILS_VERSION
|
|/ / / / |
|
|\ \ \ \
| |_|/ /
|/| | | |
Remove varargs from `Object#in?`
|