aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models
Commit message (Collapse)AuthorAgeFilesLines
* Add test case for `arel_attribute` with a custom tableRyuta Kamizono2017-09-271-1/+1
| | | | Since #29301, `arel_attribute` respects a custom table name.
* `has_many :through` with unscope should affect to through scopeRyuta Kamizono2017-09-071-0/+1
| | | | | | | | | The order of scope evaluation should be from through scope to the association's own scope. Otherwise the association's scope cannot affect to through scope. Fixes #13677. Closes #28449.
* Scope in associations should treat nil as `all`Ryuta Kamizono2017-09-041-1/+1
| | | | | | | | Defined scope treats nil as `all`, but scope in associations isn't so. If the result of the scope is nil, most features on associations will be broken. It should treat nil as `all` like defined scope. Fixes #20823.
* `values[:includes]` in `reflection_scope` is not compatible with `through_scope`Ryuta Kamizono2017-09-021-1/+1
| | | | | | | | | | | | | | | | | Without this fix, preloading `:comments_with_include` will cause the following error: ``` % bundle exec ruby -w -Itest test/cases/associations/eager_test.rb -n test_eager_with_has_many_through_join_model_with_include Using sqlite3 Run options: -n test_eager_with_has_many_through_join_model_with_include --seed 1502 E Error: EagerAssociationTest#test_eager_with_has_many_through_join_model_with_include: ActiveRecord::AssociationNotFoundError: Association named 'post' was not found on Post; perhaps you misspelled it? ```
* `counter_cache` requires association class before `attr_readonly`Yasuo Honda2017-08-231-0/+3
| | | | | There were similar pull requests #26370 #27575 fixed by different way by moving `require "models/post"` before `require "models/comment"`
* Clarify base_class tests on abstract STI vs concrete STIYukio Mizuta2017-08-121-1/+6
|
* Merge pull request #29848 from kamipo/fix_distinct_count_with_order_and_limitRafael França2017-07-242-34/+35
|\ | | | | Fix `COUNT(DISTINCT ...)` with `ORDER BY` and `LIMIT`
| * Extract `Account` model to the dedicated fileRyuta Kamizono2017-07-222-34/+35
| |
* | Merge pull request #29765 from lugray/fix_counter_cacheRafael França2017-07-241-0/+6
|\ \ | |/ |/| Fix `counter_cache` double increment
| * Add test for fixed `counter_cache` double incrementLisa Ugray2017-07-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | When an `after_create` callback did `update_attributes` on a record with multiple `belongs_to` associations with counter caches, even numbered associations would have their counters double-incremented. Fixes to `ActiveModel::Dirty` in 020abad fixed this. This adds regression tests for this bug fixed incidentally in the other commit, which also removed the need for the workaround using @_after_create_counter_called.
* | Use frozen-string-literal in ActiveRecordKir Shatrov2017-07-19144-10/+298
|/
* Fix unscoping `default_scope` in STI associationsRyuta Kamizono2017-07-191-0/+1
| | | | | | | Since 5c71000, it has lost to be able to unscope `default_scope` in STI associations. This change will use `.empty_scope?` instead of `.values.empty?` to regard as an empty scope if only have `type_condition`.
* Remove deprecated code concerning non-attributes and `*_will_change!`Sean Griffin2017-07-181-1/+1
|
* Merge pull request #29679 from kamipo/add_test_case_for_27724Kasper Timm Hansen2017-07-151-0/+5
|\ | | | | Add a test case for overwriting existing condition on associations
| * Add a test case for overwriting existing condition on associationsRyuta Kamizono2017-07-071-0/+5
| | | | | | | | | | | | | | | | Overwriting existing condition on associations has already supported (23bcc65 for eager loading, 2bfa2c0 for preloading). Fixes #27724. Closes #29154.
* | Extract `FakeKlass` in `relation_test.rb` and `relation/mutation_test.rb`Ryuta Kamizono2017-07-111-0/+32
|/ | | | | `FakeKlass` in `relation_test.rb` and `relation/mutation_test.rb` are almost the same.
* Fix preloading association with scope including joinsRyuta Kamizono2017-07-042-0/+3
|
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-02144-154/+10
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-01144-10/+154
|
* Merge pull request #29416 from kamipo/remove_unused_subject_modelRafael França2017-06-281-14/+0
|\ | | | | Remove unused `Subject` model in tests
| * Remove unused `Subject` model in testsRyuta Kamizono2017-06-111-14/+0
| | | | | | | | Because `subjects` table doesn't exist.
* | Merge pull request #29405 from kamipo/locked_should_not_build_arelRafael França2017-06-281-0/+1
|\ \ | | | | | | `Relation#locked?` should not build arel
| * | Remove delegating to arel in a relationRyuta Kamizono2017-06-291-0/+1
| | | | | | | | | | | | | | | The delegation was needed since passing `relation` with `relation.bound_attributes`. It should use `relation.arel` in that case.
* | | Ensure that using correct alias trackerRyuta Kamizono2017-06-251-0/+1
|/ / | | | | | | | | | | Covering #27994 in tests. Closes #27994.
* / Remove unused defined associationRyuta Kamizono2017-06-111-1/+0
|/ | | | | `belongs_to :developer` on `Comment` model was added in 431f8e0 but it is unused.
* Correct a has_many association testKoichi ITO2017-06-011-0/+1
|
* Merge pull request #26634 from kamipo/extract_numeric_dataRafael França2017-05-311-0/+8
|\ | | | | Extract `NumericData` model for tests
| * Restore the override of numeric attributes properlyRyuta Kamizono2016-12-221-0/+5
| | | | | | | | | | | | `attribute :world_population, :integer` is not a same with default decimal without scale type unless #26302 is merged. Should be `attribute :world_population, :big_integer` for now.
| * Extract `NumericData` model for testsRyuta Kamizono2016-09-271-0/+3
| | | | | | | | Currently `NumericData` model is defined some places.
* | Add missing `delegate :extending, to: :all`Ryuta Kamizono2017-06-011-0/+2
| |
* | Merge pull request #29098 from kamipo/fix_association_with_extension_issuesMatthew Draper2017-05-302-1/+11
|\ \ | | | | | | | | | Fix association with extension issues
| * | Fix association with extension issuesRyuta Kamizono2017-05-282-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | This fixes the following issues. * `association_scope` doesn't include `default_scope`. Should use `scope` instead. * We can't use `method_missing` for customizing existing method. * We can't use `relation_delegate_class` for sharing extensions. Should extend per association.
* | | Merge pull request #28969 from ↵Matthew Draper2017-05-281-1/+1
|\ \ \ | | | | | | | | | | | | | | | | kamipo/refactor_enum_to_use_value_instead_of_label Refactor enum to use `value` instead of `label` in the scope
| * | | Refactor enum to use `value` instead of `label` in the scopeRyuta Kamizono2017-05-071-1/+1
| |/ /
* | | Merge pull request #29003 from kamipo/delegate_ast_and_locked_to_arel_explicitlyMatthew Draper2017-05-281-0/+9
|\ \ \ | | | | | | | | Delegate `ast` and `locked` to `arel` explicitly
| * | | Delegate `ast` and `locked` to `arel` explicitlyRyuta Kamizono2017-05-061-0/+9
| |/ / | | | | | | | | | | | | | | | | | | | | | Currently `ast` and `locked` are used in the internal but delegating to `arel` is depend on `method_missing`. If a model class is defined these methods, `select_all` will be broken. It should be delegated to `arel` explicitly.
* / / Enable extending even if scope returns nilRyuta Kamizono2017-05-241-1/+1
|/ /
* | Add type caster to `RuntimeReflection#alias_name`Jon Moss2017-05-022-1/+2
| | | | | | | | | | Since we have been using this `Arel::Table` since 111ccc832bc977b15af12c14e7ca078dad2d4373, in order to properly handle queries, it's important that we properly type cast arguments.
* | Remove useless test caseRyuta Kamizono2017-04-261-8/+0
| | | | | | | | | | Cannot call private methods in `@klass` against `CollectionProxy` (inherites `Relation`) because using `public_send` in `method_missing`.
* | Mixin `CollectionProxy::DelegateExtending` after `ClassSpecificRelation`Ryuta Kamizono2017-04-221-0/+5
| | | | | | | | | | | | | | | | | | | | `ClassSpecificRelation` has `method_missing` and the `method_missing` is called first. if an associated class has the missing method in a relation, never reach to the `method_missing` in the `CollectionProxy`. I extracted `DelegateExtending` and included it to the delegate class that including `ClassSpecificRelation` to fix the issue. Fixes https://github.com/rails/rails/pull/28246#issuecomment-296033784.
* | Add a test case for #20802Ryuta Kamizono2017-04-131-0/+1
| | | | | | | | | | | | The issue #20802 has been fixed in cc0b566. Closes #20802.
* | Fix extension method with dirty target in has_many associationsRyuta Kamizono2017-03-201-0/+4
| | | | | | | | | | | | | | Extension methods should not delegate to `scope` to respect dirty target on `CollectionProxy`. Fixes #28419.
* | Fix inspection behavior when the :id column is not primary keynamusyaka2017-02-091-0/+2
| |
* | Correct spellingBenjamin Fleischer2017-02-051-1/+1
| | | | | | | | | | | | | | ``` go get -u github.com/client9/misspell/cmd/misspell misspell -w -error -source=text . ```
* | Chain scope constraints should respect own table aliasRyuta Kamizono2017-02-013-0/+12
| | | | | | | | Fixes #27666.
* | Deprecate reflection class name to accept a classKir Shatrov2017-01-091-1/+1
| | | | | | | | | | | | | | | | The idea of `class_name` as an option of reflection is that passing a string would allow us to lazy autoload the class. Using `belongs_to :client, class_name: Customer` is eagerloading models more than necessary and creating possible circular dependencies.
* | Privatize unneededly protected methods in Active RecordAkira Matsuda2017-01-051-3/+1
| |
* | `self.` is not needed when calling its own instance methodAkira Matsuda2017-01-051-1/+1
| | | | | | | | Actually, private methods cannot be called with `self.`, so it's not just redundant, it's a bad habit in Ruby
* | Raise error when has_many through is defined before through associationChris Holmes2017-01-041-0/+6
| | | | | | | | | | | | | | https://github.com/rails/rails/issues/26834 This change raises an error if a has_many through association is defined before the through association.
* | Merge pull request #27335 from kamipo/remove_duplicated_model_definitionSean Griffin2017-01-031-0/+3
|\ \ | | | | | | Remove duplicated model class definitions in `test/cases/base_test.rb`