aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/persistence_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* After find-via-reload, the record is not newMatthew Draper2014-07-051-0/+12
|
* `reload` should fully reload attributesSean Griffin2014-06-221-0/+7
| | | | | | `reload` is meant to put a record in the same state it would be if you were to do `Post.find(post.id)`. This means we should fully replace the attributes hash.
* Merge pull request #15593 from sgrif/sg-attributeRafael Mendonça França2014-06-131-9/+4
|\ | | | | Introduce an Attribute object to handle the type casting dance
| * Introduce an Attribute object to handle the type casting danceSean Griffin2014-06-131-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a lot more that can be moved to these, but this felt like a good place to introduce the object. Plans are: - Remove all knowledge of type casting from the columns, beyond a reference to the cast_type - Move type_cast_for_database to these objects - Potentially make them mutable, introduce a state machine, and have dirty checking handled here as well - Move `attribute`, `decorate_attribute`, and anything else that modifies types to mess with this object, not the columns hash - Introduce a collection object to manage these, reduce allocations, and not require serializing the types
* | Update test data which doesn't reflect expected usageSean Griffin2014-06-121-6/+6
|/ | | | | | Topics call `serialize :content`, which means that the values in the database should be YAML encoded, and we would only expect to receive YAML strings to `update_column` and `update_columns`.
* Merge pull request #15503 from sgrif/sg-json-hstore-storageYves Senn2014-06-061-2/+2
|\ | | | | Bring type casting behavior of hstore/json in line with serialized
| * Bring type casting behavior of hstore/json in line with serializedSean Griffin2014-06-041-2/+2
| | | | | | | | | | `@raw_attributes` should not contain the type-cast, mutable version of the value.
* | Merge pull request #14971 from versioncontrol/#14785Yves Senn2014-06-061-0/+9
|\ \ | |/ |/| | | Baseclass becomes! subclass
| * Fix Baseclass becomes! subclass.Edo Balvers2014-05-131-0/+9
| |
* | docs, `instantiate` expects `String` keys. [Rafal Piekarski & Yves Senn]Yves Senn2014-05-201-0/+11
|/ | | | | Closes #15122 Closes #15107
* test, persist inherited class with different table name. Refs #14971.Yves Senn2014-05-071-0/+14
| | | | | This case prevents against regressions. The change was suggested in a recent PR but the all our tests passed.
* Move dup destroyed test to specific file that tests dup logicCarlos Antonio da Silva2014-05-021-9/+2
| | | | | Also change other related test to use existing record rather than creating new one.
* `@destroyed` should always be set to `false` when an object is duped.Kuldeep Aggarwal2014-04-191-0/+16
|
* Change usec to 0 on tests that compare secondsArthur Neves2014-03-121-3/+3
| | | | | Avoid rounding problems with `.usec` method rounding the seconds when the field doesn't persist the `.usec` piece.
* use the new clear_validators! api everywhere to reset validators in testsKuldeep Aggarwal2014-01-281-2/+2
|
* Copy changed_attributes across to newly become'd recordsJonathan del Strother2013-12-271-0/+14
| | | Without this, the original record's values won't get saved, since the partial insertions support (https://github.com/rails/rails/commit/144e8691cbfb8bba77f18cfe68d5e7fd48887f5e) checks for changed values and thinks there are none.
* Raising an error when nil or non-hash is passed to update_attributes.wangjohn2013-06-251-4/+11
|
* Extract AR::Persistence#becomes's test code out from base_test.rbTakehiro Adachi2013-05-221-0/+13
| | | | | The method got extracted out from AR::Base in commit d916c62cfc7c59ab6411407a05b946d3dd7535e9, but the tests never did.
* Fix class and method name typosVipul A M2013-05-121-1/+1
|
* Add missing require to inheritance testCarlos Antonio da Silva2013-04-031-1/+1
|
* Use snake case variable names, stick with the conventionCarlos Antonio da Silva2013-03-281-13/+13
|
* Fix updates not working within after_create hooksAaron Pfeifer2013-03-271-0/+16
|
* When we pass id to update_attributes it will try to set new id for that recordDmitry Vorotilin2013-03-221-0/+9
|
* Remove regression test added in 0268b5d8cdc3c5a1337462135f0a326a2654ba1aRafael Mendonça França2013-03-071-8/+0
| | | | | | It was added because a regression caused by a712e08ebe21f6d8653a0e6602df2e0f5d40d9ca Closes #9255
* Skip failing test and add a FIXME noteRafael Mendonça França2013-02-201-0/+2
|
* test for regression from a712e08ebe21f6d8653a0e6602df2e0f5d40d9caAaron Patterson2013-02-111-0/+6
|
* Change duplicated test nameRafael Mendonça França2013-01-031-2/+2
|
* Rename update_attributes method to update, keep update_attributes as an aliasAmparo Luna + Guillermo Iguaran2013-01-031-5/+42
|
* remove meaningless AS::FrozenObjectErrorAkira Matsuda2013-01-021-3/+2
|
* Unscope update_column(s) query to ignore default scopeCarlos Antonio da Silva2012-12-061-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | When applying default_scope to a class with a where clause, using update_column(s) could generate a query that would not properly update the record due to the where clause from the default_scope being applied to the update query. class User < ActiveRecord::Base default_scope where(active: true) end user = User.first user.active = false user.save! user.update_column(:active, true) # => false In this situation we want to skip the default_scope clause and just update the record based on the primary key. With this change: user.update_column(:active, true) # => true Fixes #8436.
* Remove not used variable warnignsCarlos Antonio da Silva2012-12-011-1/+1
|
* AR::Base.becomes should not change the STI typeThomas Hollstegge2012-11-171-1/+12
| | | | If you want to change the STI type too, use AR::Base.becomes! instead
* Enable update_column(s) for the primary key attribute.Henrik N2012-10-281-0/+13
| | | | Didn't work before because it updated the model-in-memory first, so the DB query couldn't find the record.
* Remove mass_assignment_options from ActiveRecordGuillermo Iguaran2012-09-161-40/+0
|
* Revert "Remove update_attribute."Rafael Mendonça França2012-08-251-0/+40
| | | | | | | | | | | This reverts commit a7f4b0a1231bf3c65db2ad4066da78c3da5ffb01. Conflicts: activerecord/lib/active_record/associations/has_one_association.rb activerecord/lib/active_record/persistence.rb activerecord/test/cases/base_test.rb activerecord/test/cases/dirty_test.rb activerecord/test/cases/timestamp_test.rb
* Remove the deprecation of update_column.Rafael Mendonça França2012-07-301-38/+17
| | | | | | update_column was suggested as replacement of update_attribute at the last release of 3-2-stable, so deprecating it now will confuse the users.
* 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.
* ActiveRecord::Base.all returns a Relation.Jon Leighton2012-07-271-1/+1
| | | | | | | | | | | Previously it returned an Array. If you want an array, call e.g. `Post.to_a` rather than `Post.all`. This is more explicit. In most cases this should not break existing code, since Relations use method_missing to delegate unknown methods to #to_a anyway.
* Deprecate update_column in favor of update_columns.Rafael Mendonça França2012-07-241-17/+38
| | | | Closes #1190
* Use update_columns to implemente the update_columnRafael Mendonça França2012-07-241-2/+36
|
* New #update_columns method.Sebastian Martinez2012-07-241-0/+57
|
* Remove update_attribute.Steve Klabnik2012-06-141-62/+1
| | | | | | | | | | | Historically, update_attribute and update_attributes are similar, but with one big difference: update_attribute does not run validations. These two methods are really easy to confuse given their similar names. Therefore, update_attribute is being removed in favor of update_column. See the thread on rails-core here: https://groups.google.com/forum/?fromgroups#!topic/rubyonrails-core/BWPUTK7WvYA
* + ActiveRecord::Base#destroy!Marc-Andre Lafortune2012-06-061-0/+7
|
* Remove unused assignments from activerecord testsMark Rushakoff2012-04-291-1/+0
|
* remove deprecated callsJon Leighton2012-04-271-1/+1
|
* %s/find(:\(first\|last\|all\), \([^()]*\))/scoped(\2).\1/gcI amongst other ↵Jon Leighton2012-04-271-1/+1
| | | | things
* remove deprecate #all usageJon Leighton2012-04-261-1/+1
|
* remove deprecate #update_all usageJon Leighton2012-04-261-7/+1
|
* Fix delete_all when chained with joins.Rafael Mendonça França2012-04-101-1/+19
| | | | Closes #5202 and #919
* Raise error when using write_attribute with a non-existent attribute.Jon Leighton2011-09-131-6/+11
| | | | | | | | | Previously we would just silently write the attribute. This can lead to subtle bugs (for example, see the change in AutosaveAssociation where a through association would wrongly gain an attribute. Also, ensuring that we never gain any new attributes after initialization will allow me to reduce our dependence on method_missing.