aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | Merge pull request #26447 from kamipo/reduce_array_allocationSantiago Pastorino2016-09-191-3/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Reduce array allocation when `where` with passed hash
| * | | | | | | Reduce array allocation when `where` with passed hashRyuta Kamizono2016-09-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In most case `where` is called with passed hash. In the case initializing `binds` is unnecessary.
* | | | | | | | Merge pull request #26448 from kamipo/remove_collection_association_uniqKasper Timm Hansen2016-09-181-1/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove unnecessry `alias uniq distinct` for collection association
| * | | | | | | | Remove unnecessry `alias uniq distinct` for collection associationRyuta Kamizono2016-09-101-1/+0
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | `CollectionAssociation` is internal class and `uniq` is not called.
* | | | | | | | Merge pull request #26446 from kamipo/rename_type_var_name_to_typeEileen M. Uchitelle2016-09-171-10/+8
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Rename variable name that returning `type_for` to `type` from `column`
| * | | | | | | | Rename variable name that returning `type_for` to `type` from `column`Ryuta Kamizono2016-09-111-10/+8
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `column_for` was changed to `type_for` to return `type` object at 36bd52b4. But variable name is still `column`. It is very confusing. Rename variable name `column` to `type` for readability.
* | | | | | | | Merge pull request #26497 from koppen/26496-touch_with_optimistic_lockingEileen M. Uchitelle2016-09-173-1/+9
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Clear attribute changes after handling locking
| * | | | | | | Clear attribute changes after handling lockingJakob Skjerning2016-09-143-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this the changes to the lock version column will stick around even after `touch` returns. Before: model.touch model.changes # => {"lock_version"=>[0, "1"]} After: model.touch model.changes # {}
* | | | | | | | improve error message when include assertions failMichael Grosser2016-09-1634-141/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | Force correct namespace when using TransactionManagerArthur Neves2016-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [fixes #26441]
* | | | | | | | fix typo in `add_column` doc [ci skip]yuuji.yaginuma2016-09-161-1/+1
|/ / / / / / /
* | | | | | | Fix broken comments indentation caused by rubocop auto-correct [ci skip]Ryuta Kamizono2016-09-1431-1461/+1462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772. But comments was still kept absolute position. This commit aligns comments with method definitions for consistency.
* | | | | | | Address `warning: ambiguous first argument; put parentheses or a space even ↵Yasuo Honda2016-09-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | after `/' operator`
* | | | | | | 5-0-backport: activerecord/mysql2: Avoid setting @connection to nil, just ↵Dylan Thacker-Smith2016-09-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | close it (#26473) * activerecord/mysql2: Avoid setting @connection to nil, just close it Backport of https://github.com/rails/rails/pull/26434 * Add a CHANGELOG entry
* | | | | | | Merge pull request #26466 from y-yagi/remove_duplicated_fixture_set_namesArthur Nogueira Neves2016-09-133-3/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | remove duplicated fixture set names
| * | | | | | | remove duplicated fixture set namesyuuji.yaginuma2016-09-123-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If using namespaced fixtures, get following Ruby warning. ``` activerecord/lib/active_record/fixtures.rb:922: warning: method redefined; discarding old admin_foos activerecord/lib/active_record/fixtures.rb:922: warning: previous definition of admin_foos was here ``` This is happening because of the multiple set the same path when setting the fixture name. Fix to remove the duplicate path.
* | | | | | | | Merge pull request #26460 from ↵Sean Griffin2016-09-121-6/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/remove_useless_test_string_with_crazy_column Remove useless `test_string_with_crazy_column`
| * | | | | | | | Remove useless `test_string_with_crazy_column`Ryuta Kamizono2016-09-111-6/+2
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing `FakeColumn` was removed at #15336 therefore `test_string_with_crazy_column` is duplicated with `test_quote_string_no_column`.
* | | | | | | | Merge pull request #26434 from dylanahsmith/mysql2-no-nil-connectionArthur Nogueira Neves2016-09-123-15/+28
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | activerecord/mysql2: Avoid setting @connection to nil, just close it
| * | | | | | | | activerecord/mysql2: Avoid setting @connection to nil, just close itDylan Thacker-Smith2016-09-083-15/+28
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By doing `@connection = nil` that means that we need nil checks before it is used anywhere, but we weren't doing those checks. Instead, we get a NoMethodError after using a connection after it fails to reconnect. Neither of the other adapters set @connection to nil, just the mysql2 adapter. By just closing it, we avoid the need to check if we have a connection object and it will produce an appropriate exception when used.
* | | | | | | | Merge pull request #26459 from ysksn/add_test_for_activerecord_enumEileen M. Uchitelle2016-09-124-0/+43
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Add tests for ActiveRecord::Enum#enum when suffix specified
| * | | | | | | | Add tests for ActiveRecord::Enum#enum when suffix specifiedYosuke Kabuto2016-09-124-0/+43
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | Make name of attribute medium instead of normal
* | | | | | | | Merge pull request #26458 from kamipo/remove_unused_require_threadSantiago Pastorino2016-09-111-1/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove unused `require "thread"` in `test/cases/attribute_methods/read_test.rb`
| * | | | | | | | Remove unused `require "thread"` in `test/cases/attribute_methods/read_test.rb`Ryuta Kamizono2016-09-111-1/+0
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | `Mutex` was removed at 8eb7561ac6e8f020ec09608532de310c6b0b8dcd.
* / / / / / / / Remove duplicated `elsif` branchRyuta Kamizono2016-09-111-2/+0
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | The `elsif` branch is completely duplicated with `else` branch.
* | / / / / / Remove outdated "#TODO: Fix for binds." comment [ci skip]Ryuta Kamizono2016-09-111-1/+0
| |/ / / / / |/| | | | | | | | | | | | | | | | | This comment was added at eaf5486 but already implemented.
* | | | | | Merge pull request #26380 from kamipo/pass_set_inverse_instance_blockKasper Timm Hansen2016-09-081-2/+2
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Pass `set_inverse_instance` block to `sc.execute` for `SingularAssociation`
| * | | | | Pass `set_inverse_instance` block to `sc.execute` for `SingularAssociation`Ryuta Kamizono2016-09-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up to caa178c. caa178c updated all code which sets inverse instances on newly loaded associations to use block. But `SingularAssociation` was forgotten it.
* | | | | | Revert " [ci skip] Remove duplicate example."Vipul A M2016-09-061-0/+5
| | | | | |
* | | | | | Merge pull request #26410 from aditya-kapoor/rm-dupsVipul A M2016-09-061-5/+0
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | [ci skip] Remove duplicate example.
| * | | | | [ci skip] Remove duplicate example.Aditya Kapoor2016-09-061-5/+0
| | | | | |
* | | | | | Fix Remaining Case-In-Assignment Statement FormattingAlex Kitchens2016-09-065-62/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently, the Rails team made an effort to keep the source code consistent, using Ruboco (bb1ecdcc677bf6e68e0252505509c089619b5b90 and below). Some of the case statements were missed. This changes the case statements' formatting and is consistent with changes in 810dff7c9fa9b2a38eb1560ce0378d760529ee6b and db63406cb007ab3756d2a96d2e0b5d4e777f8231.
* | | | | | Merge pull request #26394 from kamipo/remove_redundant_conditionAndrew White2016-09-061-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove redundant `!loaded?` condition
| * | | | | | Remove redundant `!loaded?` conditionRyuta Kamizono2016-09-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Already checked `if !find_target? || loaded?`, unnecessary `!loaded?` in elsif condition.
* | | | | | | Remove not used alias methodyui-knk2016-09-061-1/+0
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Bang methods of `AR::QueryMethods` are used only internally. We only use `left_outer_joins!`, so we can remove this alias.
* | | | | | Merge pull request #26370 from yahonda/rails26368Andrew White2016-09-052-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Move `require "models/post"` before `require "models/comment"`
| * | | | | | Change require order to come `require "models/post"` before `require ↵Yasuo Honda2016-09-022-2/+2
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "models/comment"` to address BasicsTest#test_readonly_attributes failure #26368 It reproduces only when both of these conditions are satisfied: - Other test files `autosave_association_test.rb` or `where_test.rb` which executes `require "models/comment"` then `require "models/post"` - When `autosave_association_test.rb` or `where_test.rb` executed before `base_test.rb`
* | | | | | Merge pull request #26379 from kamipo/remove_unnecessary_query_scopeAndrew White2016-09-051-4/+0
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Remove unnecessary `query_scope`
| * | | | | Remove unnecessary `query_scope`Ryuta Kamizono2016-08-161-4/+0
| | | | | |
* | | | | | Remove unnecessary `count` method for collection proxyRyuta Kamizono2016-09-042-36/+14
| | | | | | | | | | | | | | | | | | | | | | | | Simply use its own method because `CollectionProxy` inherits `Relation`.
* | | | | | Extract duplicated `create` and `create!` definition for associationRyuta Kamizono2016-09-033-16/+8
| | | | | |
* | | | | | Fix broken heredoc indentation caused by rubocop auto-correctRyuta Kamizono2016-09-0316-73/+73
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772. But heredocs was still kept absolute position. This commit aligns heredocs indentation for consistency.
* | | | | RuboCop is 100% green :tada:Xavier Noria2016-09-021-12/+13
| | | | |
* | | | | fixes remaining RuboCop issues [Vipul A M, Xavier Noria]Xavier Noria2016-09-018-14/+14
| |_|_|/ |/| | |
* | | | Include user defined attributes in inspectSean Griffin2016-08-312-1/+7
| | | | | | | | | | | | | | | | The fact that this only includes column names is an oversight.
* | | | Remove deprecated handling of PG PointsSean Griffin2016-08-316-56/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some minor changes to the point type as I had forgotten that this will affect the behavior of `t.point` in migrations and the schema dumper so we need to handle those as well. I'll say this again so I can convince myself to come up with a better structure... TYPES SHOULD NOT CARE ABOUT SCHEMA DUMPING AND WE NEED TO BETTER SEPARATE THESE.
* | | | Revert "Extract `PredicateBuilder::CaseSensitiveHandler`"Sean Griffin2016-08-316-51/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3a1f6fe7b4a70bf0698b0684dd48ac712c6883b6. This commit takes the code in a direction that I am looking to avoid. The predicate builder should be purely concerned with AST construction as it matters to methods like `where`. Things like case sensitivity should continue to be handled elsewhere.
* | | | Attempt to maintain encoding for arrays of strings with PGSean Griffin2016-08-313-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I still think that this is something that should be handled in the pg gem, but it's not going to end up happening there so we'll do it here instead. Once we bump to pg 0.19 we can pass the encoding to the `encode` method instead. This issue occurs because C has no concept of encoding (or strings, really). The bytes that we pass here when sending the value to the database will always be interpreted as whatever encoding the connection is currently configured to use. That means that roundtripping to the database will lose no information However, after assigning we round trip through our type system without hitting the database. The only way that we can do the "correct" thin here would be to actually give a reference to the connection to the array type and have it check the current value of the connection's encoding -- which I'm strongly opposed to. We could also pass in the encoding when it's constructed, but since that can change independently of the type I'm not a huge fan of that either. This feels like a reasonable middle ground, where if we have an array of strings we simply use the encoding of the string we're given. Fixes #26326.
* | | | Override `respond_to_missing?` instead of `respond_to?` when possibleSean Griffin2016-08-313-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was almost every case where we are overriding `respond_to?` in a way that mirrors a parallel implementation of `method_missing`. There is one remaining case in Active Model that should probably do the same thing, but had a sufficiently strange implementation that I want to investigate it separately. Fixes #26333.
* | | | Merge pull request #26283 from kamipo/use_splat_hash_for_optionsSean Griffin2016-08-311-6/+1
|\ \ \ \ | | | | | | | | | | Use splat `options` hash for `has_and_belongs_to_many`