aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models/topic.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fix inspect with non-primary key id attributeEugene Kenny2018-11-061-0/+4
| | | | | | | | | | | The `read_attribute` method always returns the primary key when asked to read the `id` attribute, even if the primary key isn't named `id`, and even if another attribute named `id` exists. For the `inspect`, `attribute_for_inspect` and `pretty_print` methods, this behaviour is undesirable, as they're used to examine the internal state of the record. By using `_read_attribute` instead, we'll get the real value of the `id` attribute.
* Change the empty block style to have space inside of the blockRafael Mendonça França2018-09-251-1/+1
|
* Reuse existing model for testing duplicated children recordsRyuta Kamizono2018-06-071-1/+0
| | | | Follow up of #32952.
* Merge pull request #32952 from mechanicles/32940-fixRyuta Kamizono2018-05-291-0/+1
|\ | | | | | | Fix parent record should not get saved with duplicate children records
| * Fix parent record should not get saved with duplicate children recordsSantosh Wadghule2018-05-281-0/+1
| | | | | | | | - Fixes #32940
* | Fix that association's after_touch is not called with counter cacheRyuta Kamizono2018-05-271-0/+10
|/ | | | | | | | | | | | Since #31405, using `#increment!` with touch option instead of `#touch` to touch belongs_to association if counter cache is enabled. It caused the regression since `#increment!` won't invoke after_touch callbacks even if touch option is given. To fix the regression, make `#increment!` invokes after_touch callbacks if touch option is given. Fixes #31559. Fixes #32408.
* `becomes` should clear the mutation tracker which is created in ↵Ryuta Kamizono2018-05-111-1/+1
| | | | | | | | | | | | | | | | `after_initialize` `becomes` creates new object and copies attributes from the receiver. If new object has mutation tracker which is created in `after_initialize`, it should be cleared since it is for discarded attributes. But if the receiver doesn't have mutation tracker yet, it will not be cleared properly. It should be cleared regardless of whether the receiver has mutation tracker or not. Fixes #32867.
* Deprecate accessibility of private/protected class methods in named scopeRyuta Kamizono2018-03-301-2/+3
|
* Bring back private class methods accessibility in named scopeRyuta Kamizono2018-03-271-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The receiver in a scope was changed from `klass` to `relation` itself for all scopes (named scope, default_scope, and association scope) behaves consistently. In addition. Before 5.2, if both an AR model class and a Relation instance have same named methods (e.g. `arel_attribute`, `predicate_builder`, etc), named scope doesn't respect relation instance information. For example: ```ruby class Post < ActiveRecord::Base has_many :comments1, class_name: "RecentComment1" has_many :comments2, class_name: "RecentComment2" end class RecentComment1 < ActiveRecord::Base self.table_name = "comments" default_scope { where(arel_attribute(:created_at).gteq(2.weeks.ago)) } end class RecentComment2 < ActiveRecord::Base self.table_name = "comments" default_scope { recent_updated } scope :recent_updated, -> { where(arel_attribute(:updated_at).gteq(2.weeks.ago)) } end ``` If eager loading `Post.eager_load(:comments1, :comments2).to_a`, `:comments1` (default_scope) respects aliased table name, but `:comments2` (using named scope) may not work correctly since named scope doesn't respect relation instance information. See also 801ccab. But this is a breaking change between releases without deprecation. I decided to bring back private class methods accessibility in named scope. Fixes #31740. Fixes #32331.
* save attributes changed by callbacks after update_attributeMike Busch2017-12-221-0/+7
| | | | | | | | update_attribute previously stopped execution, before saving and before running callbacks, if the record's attributes hadn't changed. [The documentation](http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-update_attribute) says that "Callbacks are invoked", which was not happening if the persisted attributes hadn't changed.
* Use frozen-string-literal in ActiveRecordKir Shatrov2017-07-191-0/+2
|
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-021-1/+0
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-011-0/+1
|
* Enable extending even if scope returns nilRyuta Kamizono2017-05-241-1/+1
|
* Privatize unneededly protected methods in Active Record testsAkira Matsuda2016-12-241-1/+1
|
* code gardening: removes redundant selfsXavier Noria2016-08-081-1/+1
| | | | | | | | | A few have been left for aesthetic reasons, but have made a pass and removed most of them. Note that if the method `foo` returns an array, `foo << 1` is a regular push, nothing to do with assignments, so no self required.
* modernizes hash syntax in activerecordXavier Noria2016-08-061-8/+8
|
* applies new string literal convention in activerecord/testXavier Noria2016-08-061-7/+7
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* Oracle TIMESTAMP sql type is associated with Rails `DateTime` type nowYasuo Honda2016-07-201-6/+0
| | | | | | - Refer https://github.com/rsim/oracle-enhanced/pull/845 Remove `set_date_columns` which has been deprecated in Oracle enhanced adapter - Refer https://github.com/rsim/oracle-enhanced/pull/869
* Deprecate passing conditions to AR::Relation destroy_all and delete_all methodsWojciech Wnętrzak2015-09-061-1/+1
|
* fix rails testsMehmet Emin İNAÇ2015-07-211-1/+1
|
* changed update counter to act on unscoped modelheruku2013-11-261-0/+4
|
* More unused associations in AR test modelsAkira Matsuda2013-09-101-1/+0
|
* Revert "Merge branch 'master' of github.com:rails/docrails"Vijay Dev2013-08-171-0/+1
| | | | | | | This reverts commit 70d6e16fbad75b89dd1798ed697e7732b8606fa3, reversing changes made to ea4db3bc078fb3093ecdddffdf4f2f4ff3e1e8f9. Seems to be a code merge done by mistake.
* More unused associations in AR test modelsAkira Matsuda2013-07-251-1/+0
|
* Describing the reason for defining BlankTopic#blank? which will never be calledAkira Matsuda2013-01-241-0/+1
|
* Revert "Unused methods, module, etc."Akira Matsuda2013-01-241-0/+9
| | | | | | This reverts commit 4e05bfb8e254c3360a3ca4a6cb332995314338fe. Reason: BlankTopic#blank? should not be removed to check that dynamic finder with a bang can find a model that responds to `blank?`
* Unused methods, module, etc.Akira Matsuda2013-01-241-9/+0
|
* Regression test for #7238Nikita Afanasenko2012-11-131-0/+6
|
* :counter_cache option for to support custom named counter caches. Closes #7993Yves Senn2012-11-041-0/+1
|
* Deprecate ActiveRecord::Base.scoped.Jon Leighton2012-07-271-3/+3
| | | | | | | It doesn't serve much purpose now that ActiveRecord::Base.all returns a Relation. The code is moved to active_record_deprecated_finders.
* made dynamic finders alias_attribute awareMaximilian Schneider2012-06-221-0/+2
| | | | | previously dynamic finders only worked in combination with the actual column name and not its alias defined with #alias_attribute
* remove unnecessary test codeJon Leighton2012-04-271-5/+1
|
* remove deprecated scope stuffJon Leighton2012-04-261-13/+1
|
* extract deprecated codeJon Leighton2012-04-251-2/+2
|
* Deprecate eager-evaluated scopes.Jon Leighton2012-03-211-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't use this: scope :red, where(color: 'red') default_scope where(color: 'red') Use this: scope :red, -> { where(color: 'red') } default_scope { where(color: 'red') } The former has numerous issues. It is a common newbie gotcha to do the following: scope :recent, where(published_at: Time.now - 2.weeks) Or a more subtle variant: scope :recent, -> { where(published_at: Time.now - 2.weeks) } scope :recent_red, recent.where(color: 'red') Eager scopes are also very complex to implement within Active Record, and there are still bugs. For example, the following does not do what you expect: scope :remove_conditions, except(:where) where(...).remove_conditions # => still has conditions
* Fixed after_initialize callbacks call on AR model #dupBogdan Gusiev2012-01-071-0/+5
|
* serialize fails on subclassAlvaro Bautista2011-12-231-0/+4
|
* call scope within unscoped to prevent duplication of where valuesSergey Nartimov2011-12-171-0/+2
|
* Make protected method public so we avoid method_missing.Jon Leighton2011-09-131-4/+5
|
* Revert "Deprecate defining scopes with a callable (lambda, proc, etc) via ↵Jon Leighton2011-04-171-15/+11
| | | | | | | | | | the scope class method. Just define a class method yourself instead." This reverts commit f0e198bfa1e3f9689e0cde1d194a44027fc90b3c. Conflicts: activerecord/test/models/post.rb
* Deprecate defining scopes with a callable (lambda, proc, etc) via the scope ↵Jon Leighton2011-04-121-11/+15
| | | | class method. Just define a class method yourself instead.
* DRY up the code which instantiates the association proxyJon Leighton2011-01-111-0/+4
|
* use persisted? instead of new_record? wherever possibleDavid Chelimsky2010-11-091-1/+1
| | | | | | | | | | | - persisted? is the API defined in ActiveModel - makes it easier for extension libraries to conform to ActiveModel APIs without concern for whether the extended object is specifically ActiveRecord [#5927 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* scopes can take an object that responds to `call`Aaron Patterson2010-10-191-0/+7
|
* Deletes trailing whitespaces (over text files only find * -type f -exec sed ↵Santiago Pastorino2010-08-141-1/+1
| | | | 's/[ \t]*$//' -i {} \;)
* Explicitly set Topic model last_read attribute as Date value when Oracle ↵Raimonds Simanovskis2010-06-041-0/+6
| | | | | | enhanced adapter is used (otherwise some tests are failing which assume that this attribute will have Date value)
* Rename named_scope to scopePratik Naik2010-01-181-11/+11
|
* Refactor new callbacks and AR implementation.José Valim2009-09-081-1/+16
| | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Changed ActiveRecord to use new callbacks and speed up observers by only ↵José Valim2009-09-081-1/+1
| | | | | | notifying events that are actually being consumed. Signed-off-by: Joshua Peek <josh@joshpeek.com>