aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/persistence.rb
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | Raising an ActiveRecordError when one tries to use .touch(name) on a newwangjohn2013-02-251-0/+2
| | | | | | | | | | object that has not yet been persisted. This behavior follows the precedent set by update_columns.
* | Reduced memory leak problem in transactions by lazily updating AR objects ↵wangjohn2013-02-201-0/+2
| | | | | | | | with new transaction state. If AR object has a callback, the callback will be performed immediately (non-lazily) so the transaction still has to keep records with callbacks.
* | Refactor to use each_key, remove extra spacesCarlos Antonio da Silva2013-01-281-2/+2
|/
* iterates the RDoc of update_column(s)Xavier Noria2013-01-181-13/+13
| | | | | | | | This revision makes crystal clear that the methods go straight to the database and update the receiver. It also adds and example, and removes the duplication in the singular and plural forms by referring one to the other.
* Change docs to use update instead of update_attributesAmparo Luna + Guillermo Iguaran2013-01-031-1/+1
|
* Rename update_attributes method to update, keep update_attributes as an aliasAmparo Luna + Guillermo Iguaran2013-01-031-5/+9
|