- 28 2月, 2017 1 次提交
-
-
由 eileencodes 提交于
In Rails 3.2 dupping a `CollectionProxy` would dup it's `load_target` as well. That functionality has been broken since the release of Rails 4.0. I hit this in an application upgrade and wondered why duplicating a CollectionProxy and assigning it to a variable stopped working. When calling `dup` on a `CollectionProxy` only the owner (ex. topic) was getting duplicated and the `load_target` would remain in tact with it's original object ID. Dupping the `load_target` is useful for performing a logging operation after records have been destroyed in a method. For example: ``` def transfer_operation saved_replies = topic.replies topic.replies.clear saved_replies.each do |reply| user.update_replies_count! end end ``` This change adds a `initialize_dup` method that performs a `deep_dup` on the `@associatiation` so that the `load_target` is dupped as well. Fixes #17117
-
- 04 1月, 2017 1 次提交
-
-
由 Rafael Mendonça França 提交于
Revert "Merge pull request #21233 from mtsmfm/disable-referential-integrity-without-superuser-privileges" This reverts commit eeac6151, reversing changes made to 5c40239d. Reason: Broke the isolated tests. https://travis-ci.org/rails/rails/builds/188721346
-
- 30 12月, 2016 3 次提交
-
-
由 Rafael Mendonça França 提交于
-
由 Rafael Mendonça França 提交于
-
由 Rafael Mendonça França 提交于
-
- 25 12月, 2016 2 次提交
-
-
由 Ryuta Kamizono 提交于
Because merging the association scope was removed.
-
由 Akira Matsuda 提交于
-
- 23 12月, 2016 1 次提交
-
-
由 Ryuta Kamizono 提交于
`append_record` was added at 15ddd517 for not double adding the record. But adding `append_record` (checking `@target.include?(record)`) caused performance regression #27434. Instead of checking not double adding the record, add a record to target before any callbacks loads the record. Fixes #27434.
-
- 03 12月, 2016 1 次提交
-
-
由 Fumiaki MATSUSHIMA 提交于
ref: 72c15572 - We must use `authors` fixture with `author_addresses` because of its foreign key constraint. - Tests require PostgreSQL >= 9.4.2 because it had a bug about `ALTER CONSTRAINTS` and fixed in 9.4.2.
-
- 13 11月, 2016 1 次提交
-
-
由 Ryuta Kamizono 提交于
Currently if `CollectionProxy` has more than one new record, `CollectionProxy#uniq` result is incorrect. And `CollectionProxy#uniq` was aliased to `distinct` in a1bb6c8b. But the `uniq` method and the `SELECT DISTINCT` method are different methods. The doc in `CollectionProxy` is for the `SELECT DISTINCT` method, not for the `uniq` method. Therefore, reverting the alias in `CollectionProxy` to fix the inconsistency and to have the both methods.
-
- 03 11月, 2016 1 次提交
-
-
由 Daniel E. Garcia Shulman 提交于
* Fixes TypeError when cache counter value equals nil * Test case for counter cache on unloaded has_many association
-
- 29 10月, 2016 1 次提交
-
-
由 Rafael Mendonça França 提交于
-
- 22 10月, 2016 1 次提交
-
-
由 Prathamesh Sonpatki 提交于
- CollectionAssociation#select was removed in https://github.com/rails/rails/pull/25989 in favor of QueryMethods#select but it caused a regression when passing arguments to select and a block. - This used to work earlier in Rails 4.2 and Rails 5. See gist https://gist.github.com/prathamesh-sonpatki/a7df922273473a77dfbc742a4be4b618. - This commit restores the behavior of Rails 4.2 and Rails 5.0.0 to allow passing arguments and block at the same time but also deprecates it. - Because, these arguments do not have any effect on the output of select when select is used with a block. - Updated documentation to remove the example passing arguments and block at the same time to `CollectionProxy#select`.
-
- 30 9月, 2016 1 次提交
-
-
由 Sean Griffin 提交于
This was caused by 6d0d83a3. While the bug it's trying to fix is handled if the association is loaded in an after_(create|save) callback, it doesn't handle any cases that load the association before the persistence takes place (validation, or before_* filters). Instead of caring about the timing of persistence, we can just ensure that we're not double adding the record instead. The test from that commit actually broke, but it was not because the bug has been re-introduced. It was because `Bulb` in our test suite is doing funky things that look like STI but isn't STI, so equality comparison didn't happen as the loaded model was of a different class. Fixes #26661.
-
- 17 9月, 2016 1 次提交
-
-
由 Michael Grosser 提交于
assert [1, 3].includes?(2) fails with unhelpful "Asserting failed" message assert_includes [1, 3], 2 fails with "Expected [1, 3] to include 2" which makes it easier to debug and more obvious what went wrong
-
- 16 8月, 2016 3 次提交
-
-
由 Ryuta Kamizono 提交于
Otherwise CollectionProxy's bang methdos cannot respect dirty target.
-
由 Ryuta Kamizono 提交于
`#second`, `#third`, etc finder methods was added in 03855e79. But the signature of these methods is inconsistent with the original finder methods. And also the signature of `#first` and `#last` methods is different from the original. This commit fixes the inconsistency.
-
由 Rafael Mendonça França 提交于
Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
-
- 14 8月, 2016 2 次提交
-
-
由 Ryuta Kamizono 提交于
`#first`, `#second`, ..., `#last` methods respects dirty target. But `#take` doesn't respect it. This commit fixes the inconsistent behavior.
-
由 Michel Pigassou 提交于
When calling association.find RecordNotFound is now raised with the same argument as when we do it in Record.find (primary_key, id and model).
-
- 07 8月, 2016 3 次提交
-
-
由 Xavier Noria 提交于
-
由 Xavier Noria 提交于
-
由 Xavier Noria 提交于
The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
-
- 26 7月, 2016 2 次提交
-
-
由 Ryuta Kamizono 提交于
These test cases tests exactly mutating loaded target.
-
由 Ryuta Kamizono 提交于
This is not a test case.
-
- 20 7月, 2016 1 次提交
-
-
由 Ryuta Kamizono 提交于
Fixes #25732.
-
- 18 7月, 2016 1 次提交
-
-
由 bogdanvlviv 提交于
-
- 19 5月, 2016 1 次提交
-
-
由 Jeremy Daer 提交于
Ruby 2.4 unifies Fixnum and Bignum into Integer: https://bugs.ruby-lang.org/issues/12005 * Forward compat with new unified Integer class in Ruby 2.4+. * Backward compat with separate Fixnum/Bignum in Ruby 2.2 & 2.3. * Drops needless Fixnum distinction in docs, preferring Integer.
-
- 11 2月, 2016 1 次提交
-
-
由 Brian Christian 提交于
-
- 10 2月, 2016 1 次提交
-
-
由 Brian Christian 提交于
-
- 04 2月, 2016 1 次提交
-
-
由 Akira Matsuda 提交于
-
- 23 11月, 2015 1 次提交
-
-
由 Bogdan Gusiev 提交于
When same association is loaded in the model creation callback The new object is inserted into association twice
-
- 16 11月, 2015 1 次提交
-
-
由 yui-knk 提交于
If argument of `build_record` has key and value which is same as default value of database, we should also except the key from `create_scope` in `initialize_attributes`. Because at first `build_record` initialize record object with argument of `build_record`, then assign attributes derived from Association's scope. In this case `record.changed` does not include the key, which value is same as default value of database, so we should add the key to except list. Fix #21893.
-
- 21 10月, 2015 1 次提交
-
-
由 kal 提交于
-
- 19 10月, 2015 1 次提交
-
-
由 jbranchaud 提交于
With `unscope!` called last, it undoes `where` constraints of the same value when the `where` is chained after the `unscope`. This is what a `rewhere` does. This is undesirable behavior. The included tests demonstrate both the `unscope(...).where(...)` behavior as well as the direct use of `rewhere(...)`. This is in reference to #21955.
-
- 23 9月, 2015 1 次提交
-
-
由 Sean Griffin 提交于
When I originally reviewed the #20317, I believe these changes were present, but it appears that it was later updated so that they were removed. Since Travis hadn't re-run the build, this slipped through.
-
- 12 9月, 2015 1 次提交
-
-
由 Ronak Jangir 提交于
`restrict_with_error` message will now respect owner’s human name in any locale [kuboon & Ronak Jangir]
-
- 03 9月, 2015 1 次提交
-
-
由 Bogdan Gusiev 提交于
Current implementation has a lot of utility methods that accept reflection call a lot of methods on it and exit. E.g. has_counter_cache?(reflection) It causes confusion and inability to cache result of the method even through it always returns the same result for the same reflection object. It can be done easier without access to the association context by moving code into reflection itself. e.g. reflection.has_counter_cache? Reflection is less complex object than association so moving code there automatically makes it simplier to understand.
-
- 03 8月, 2015 1 次提交
-
-
由 Mehmet Emin İNAÇ 提交于
Fixes #21082 remove extra space
-
- 24 7月, 2015 1 次提交
-
-
由 Sean Griffin 提交于
Deep down in the association internals, we're calling `destroy!` rather than `destroy` when handling things like `dependent` or autosave association callbacks. Unfortunately, due to the structure of the code (e.g. it uses callbacks for everything), it's nearly impossible to pass whether to call `destroy` or `destroy!` down to where we actually need it. As such, we have to do some legwork to handle this. Since the callbacks are what actually raise the exception, we need to rescue it in `ActiveRecord::Callbacks`, rather than `ActiveRecord::Persistence` where it matters. (As an aside, if this code wasn't so callback heavy, it would handling this would likely be as simple as changing `destroy` to call `destroy!` instead of the other way around). Since we don't want to lose the exception when `destroy!` is called (in particular, we don't want the value of the `record` field to change to the parent class), we have to do some additional legwork to hold onto it where we can use it. Again, all of this is ugly and there is definitely a better way to do this. However, barring a much more significant re-architecting for what I consider to be a reletively minor improvement, I'm willing to take this small hit to the flow of this code (begrudgingly).
-