aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/persistence.rb
Commit message (Collapse)AuthorAgeFilesLines
...
* [ci skip] Updated create! documentation description and added +attributes+ ↵Tom Kadwill2014-08-071-2/+5
| | | | for rdoc
* Moved #create! method from Validations to Persistence moduleBogdan Gusiev2014-08-051-0/+12
|
* After find-via-reload, the record is not newMatthew Draper2014-07-051-0/+1
|
* Remove unneeded `@column_types` instance variableSean Griffin2014-06-221-2/+0
| | | | This was used more previously, but other uses have been removed.
* `reload` should fully reload attributesSean Griffin2014-06-221-1/+1
| | | | | | `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.
* Introduce an object to aid in creation and management of `@attributes`Sean Griffin2014-06-191-5/+1
| | | | | Mostly delegation to start, but we can start moving a lot of behavior in bulk to this object.
* Remove unused column types overrideSean Griffin2014-06-131-8/+2
|
* Introduce an Attribute object to handle the type casting danceSean Griffin2014-06-131-4/+8
| | | | | | | | | | | | | | | 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
* No need to decorate columns twiceSean Griffin2014-06-101-1/+0
| | | | | | | We never want result types to override column types, and `decorate_columns` can only affect column types. No need to go through the decoration multiple times, we can just exclude the column types from the result types instead.
* Remove duplicated `@raw_attributes.keys`Sean Griffin2014-06-071-2/+2
| | | | | Reduces the number of things outside of attribute methods that cares about the details of how we store and type cast attributes
* Bring type casting behavior of hstore/json in line with serializedSean Griffin2014-06-041-1/+1
| | | | | `@raw_attributes` should not contain the type-cast, mutable version of the value.
* New records should remain new after yaml serializationSean Griffin2014-06-011-1/+5
|
* Rename attribute related instance variables to better express intentSean Griffin2014-05-301-5/+5
| | | | | | | | | `@attributes` was actually used for `_before_type_cast` and friends, while `@attributes_cache` is the type cast version (and caching is the wrong word there, but I'm working on removing the conditionals around that). I opted for `@raw_attributes`, because `_before_type_cast` is also semantically misleading. The values in said hash are in the state given by the form builder or database, so raw seemed to be a good word.
* docs, `instantiate` expects `String` keys. [Rafal Piekarski & Yves Senn]Yves Senn2014-05-201-4/+4
| | | | | Closes #15122 Closes #15107
* Merge pull request #11650 from prathamesh-sonpatki/renameRafael Mendonça França2014-04-041-4/+4
|\ | | | | | | Renamed private methods _create_record and _update_record
| * [Active Record] Renamed private methods create_record and update_recordPrathamesh Sonpatki2014-02-201-4/+4
| | | | | | | | | | | | This is to ensure that they are not accidentally called by the app code. They are renamed to _create_record and _update_record respectively. Closes #11645
* | Merge pull request #14390 from huoxito/true-touchRafael Mendonça França2014-03-251-0/+2
|\ \ | | | | | | | | | Still touch associations when theres no timestamp
| * | Still touch associations when theres no timestampWashington Luiz2014-03-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Prior to Rails 4.0.4 when touching a object which doesn't have timestamp attributes (updated_at / updated_on) rails would still touch all associations. After 73ba2c14cd7d7dfb2d132b18c47ade995401736f it updates associations but rollsback because `touch` would return nil since there's no timestamp attribute
* | | Improve touch docs with extra attributes passed in [ci skip]Carlos Antonio da Silva2014-03-201-5/+7
| | |
* | | ActiveRecord#touch should accept multiple attributes #14423Thiago Pinto2014-03-191-2/+3
| | |
* | | Update callbacks executed on AR::Base#touch [skip ci]Washington Luiz2014-03-141-2/+2
|/ / | | | | | | | | As of https://github.com/rails/rails/pull/12031 after_commit and after_rollback are also executed
* | Enhance docs for update_attribute [ci-skip]Mohamed Wael Khobalatte2014-03-121-0/+2
| |
* | Replace "data store" with database [ci skip]Robin Dupret2014-02-271-1/+1
|/ | | | Active Record is specifically for databases. Refs #12101.
* Correctly send the string given to lock! and reload(:lock) to the lock scope ↵Mauricio Linhares2014-01-291-1/+1
| | | | | | - fixes #13788 As per the documentation at lock!, if the :lock option is a string it should use the given SQL to generate the lock statement.
* fix bug in becomes! when changing from base to subclass. Closes #13272.Yves Senn2014-01-131-1/+5
|
* Change all "can not"s to the correct "cannot".T.J. Schuck2014-01-031-2/+2
|
* setting `changed_attributes` instance variable if it is already initialized.Kuldeep Aggarwal2013-12-281-1/+1
|
* Merge pull request #13474 from jdelStrother/becomesYves Senn2013-12-271-0/+1
|\ | | | | Copy changed_attributes across to newly become'd records
| * Copy changed_attributes across to newly become'd recordsJonathan del Strother2013-12-271-0/+1
| | | | | | 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.
* | Typo rectified commom => common[ci skip]Aayush khandelwal2013-12-251-1/+1
|/
* [ci skip]removed obsolete information about `options` parameter in create methodKuldeep Aggarwal2013-11-271-3/+0
|
* Add documentation for after_touch [ci skip]claudiob2013-10-081-1/+2
|
* improving `reload` doc wording. #12418 [ci skip]Yves Senn2013-10-021-1/+2
|
* Update AR reload doc for the case of manually set primary key attribute [ci ↵Anatoli Makarevich2013-10-021-2/+11
| | | | skip]
* Merge pull request #10816 from bogdan/less-dirty-dirtyRafael Mendonça França2013-09-231-1/+1
| | | | Make AM::Dirty less dirty to plugin into AR or other library
* Fix typo on instance variable get callCarlos Antonio da Silva2013-09-121-1/+1
|
* Perf: avoid dupes add fallback logic for codersSam2013-09-111-2/+3
|
* rewrites AR's reload documentationXavier Noria2013-05-311-4/+38
| | | | | | | | | | | | | | * It is no longer true that options are passed to find. * Documents that ActiveRecord::RecordNotFound may be raised. * Documents that the reload happens in-place. * Documents that caches are wiped. * Documents that the method returns self. * Documents a couple of use cases.
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-05-011-0/+8
|\
| * readonly info for save and save!Neeraj Singh2013-04-171-0/+6
| |
| * updated rdoc to reflect info about readonly attributeNeeraj Singh2013-04-171-0/+2
| |
* | Moved update_record logic to relation.rbNoemj2013-04-301-15/+3
| |
* | Fix a SystemStackError that occurs when using time zone aware attributes.Dan Erikson2013-04-251-1/+1
|/ | | | This fixes issue #10066
* Fix updates not working within after_create hooksAaron Pfeifer2013-03-271-1/+1
|
* When we pass id to update_attributes it will try to set new id for that recordDmitry Vorotilin2013-03-221-1/+1
|
* Deprecate #connection in favour of accessing it via the classBen Moss2013-03-091-1/+1
| | | | | This allows end-users to have a `connection` method on their models without clashing with ActiveRecord internals.
* Merge pull request #9409 from wangjohn/adding_documentation_to_touchCarlos Antonio da Silva2013-02-251-0/+7
|\ | | | | Added documentation to touch throwing an error
| * Added documentation about how touch now throws an error when one trieswangjohn2013-02-251-0/+7
| | | | | | | | to use it on an unpersisted object.
* | Merge pull request #9246 from Noemj/update_prepared_statementsAaron Patterson2013-02-241-3/+12
|\ \ | |/ |/| Changed update to use prepared statements
| * Changed update_record to use prepared statements.Noemj2013-02-111-3/+12
| |