Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Print out a meaningful error when ActiveRecord::ReadOnlyRecord is raised | Franky W | 2014-11-06 | 1 | -2/+2 |
| | | | | | | | Currently, there is no messages which get printed out. Convoluted system may have hooks that create other objects in which case we only fail with no messages. This commit changes this information allowing you to know which object is the one that actually raised the error. | ||||
* | Improve performance of AR object instantiation | Sean Griffin | 2014-11-05 | 1 | -3/+25 |
| | | | | | | | We introduced a performance hit by adding an additional iteration through a model's attributes on creation. We don't actually need the values from `Result` to be a hash, we can separate the columns and values and zip them up ourself during the iteration that we have to do. | ||||
* | Implement `_was` and `changes` for in-place mutations of AR attributes | Sean Griffin | 2014-08-16 | 1 | -1/+1 |
| | |||||
* | update error message to reflect that the record could have been destroyed | lsylvester | 2014-08-11 | 1 | -1/+2 |
| | |||||
* | Rephrase how we explain RecordInvalid exception in the context of | Zachary Scott | 2014-08-07 | 1 | -3/+5 |
| | | | | | | `#create!` regarding validations in contrast to the behavior of `#create`. Also describe creating multiple objects using an array of hashes as the +attributes+ parameter. [ci skip] /cc #16384 | ||||
* | [ci skip] Updated create! documentation description and added +attributes+ ↵ | Tom Kadwill | 2014-08-07 | 1 | -2/+5 |
| | | | | for rdoc | ||||
* | Moved #create! method from Validations to Persistence module | Bogdan Gusiev | 2014-08-05 | 1 | -0/+12 |
| | |||||
* | After find-via-reload, the record is not new | Matthew Draper | 2014-07-05 | 1 | -0/+1 |
| | |||||
* | Remove unneeded `@column_types` instance variable | Sean Griffin | 2014-06-22 | 1 | -2/+0 |
| | | | | This was used more previously, but other uses have been removed. | ||||
* | `reload` should fully reload attributes | Sean Griffin | 2014-06-22 | 1 | -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 Griffin | 2014-06-19 | 1 | -5/+1 |
| | | | | | Mostly delegation to start, but we can start moving a lot of behavior in bulk to this object. | ||||
* | Remove unused column types override | Sean Griffin | 2014-06-13 | 1 | -8/+2 |
| | |||||
* | Introduce an Attribute object to handle the type casting dance | Sean Griffin | 2014-06-13 | 1 | -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 twice | Sean Griffin | 2014-06-10 | 1 | -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 Griffin | 2014-06-07 | 1 | -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 serialized | Sean Griffin | 2014-06-04 | 1 | -1/+1 |
| | | | | | `@raw_attributes` should not contain the type-cast, mutable version of the value. | ||||
* | New records should remain new after yaml serialization | Sean Griffin | 2014-06-01 | 1 | -1/+5 |
| | |||||
* | Rename attribute related instance variables to better express intent | Sean Griffin | 2014-05-30 | 1 | -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 Senn | 2014-05-20 | 1 | -4/+4 |
| | | | | | Closes #15122 Closes #15107 | ||||
* | Merge pull request #11650 from prathamesh-sonpatki/rename | Rafael Mendonça França | 2014-04-04 | 1 | -4/+4 |
|\ | | | | | | | Renamed private methods _create_record and _update_record | ||||
| * | [Active Record] Renamed private methods create_record and update_record | Prathamesh Sonpatki | 2014-02-20 | 1 | -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-touch | Rafael Mendonça França | 2014-03-25 | 1 | -0/+2 |
|\ \ | | | | | | | | | | Still touch associations when theres no timestamp | ||||
| * | | Still touch associations when theres no timestamp | Washington Luiz | 2014-03-14 | 1 | -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 Silva | 2014-03-20 | 1 | -5/+7 |
| | | | |||||
* | | | ActiveRecord#touch should accept multiple attributes #14423 | Thiago Pinto | 2014-03-19 | 1 | -2/+3 |
| | | | |||||
* | | | Update callbacks executed on AR::Base#touch [skip ci] | Washington Luiz | 2014-03-14 | 1 | -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 Khobalatte | 2014-03-12 | 1 | -0/+2 |
| | | |||||
* | | Replace "data store" with database [ci skip] | Robin Dupret | 2014-02-27 | 1 | -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 Linhares | 2014-01-29 | 1 | -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 Senn | 2014-01-13 | 1 | -1/+5 |
| | |||||
* | Change all "can not"s to the correct "cannot". | T.J. Schuck | 2014-01-03 | 1 | -2/+2 |
| | |||||
* | setting `changed_attributes` instance variable if it is already initialized. | Kuldeep Aggarwal | 2013-12-28 | 1 | -1/+1 |
| | |||||
* | Merge pull request #13474 from jdelStrother/becomes | Yves Senn | 2013-12-27 | 1 | -0/+1 |
|\ | | | | | Copy changed_attributes across to newly become'd records | ||||
| * | Copy changed_attributes across to newly become'd records | Jonathan del Strother | 2013-12-27 | 1 | -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 khandelwal | 2013-12-25 | 1 | -1/+1 |
|/ | |||||
* | [ci skip]removed obsolete information about `options` parameter in create method | Kuldeep Aggarwal | 2013-11-27 | 1 | -3/+0 |
| | |||||
* | Add documentation for after_touch [ci skip] | claudiob | 2013-10-08 | 1 | -1/+2 |
| | |||||
* | improving `reload` doc wording. #12418 [ci skip] | Yves Senn | 2013-10-02 | 1 | -1/+2 |
| | |||||
* | Update AR reload doc for the case of manually set primary key attribute [ci ↵ | Anatoli Makarevich | 2013-10-02 | 1 | -2/+11 |
| | | | | skip] | ||||
* | Merge pull request #10816 from bogdan/less-dirty-dirty | Rafael Mendonça França | 2013-09-23 | 1 | -1/+1 |
| | | | | Make AM::Dirty less dirty to plugin into AR or other library | ||||
* | Fix typo on instance variable get call | Carlos Antonio da Silva | 2013-09-12 | 1 | -1/+1 |
| | |||||
* | Perf: avoid dupes add fallback logic for coders | Sam | 2013-09-11 | 1 | -2/+3 |
| | |||||
* | rewrites AR's reload documentation | Xavier Noria | 2013-05-31 | 1 | -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/docrails | Vijay Dev | 2013-05-01 | 1 | -0/+8 |
|\ | |||||
| * | readonly info for save and save! | Neeraj Singh | 2013-04-17 | 1 | -0/+6 |
| | | |||||
| * | updated rdoc to reflect info about readonly attribute | Neeraj Singh | 2013-04-17 | 1 | -0/+2 |
| | | |||||
* | | Moved update_record logic to relation.rb | Noemj | 2013-04-30 | 1 | -15/+3 |
| | | |||||
* | | Fix a SystemStackError that occurs when using time zone aware attributes. | Dan Erikson | 2013-04-25 | 1 | -1/+1 |
|/ | | | | This fixes issue #10066 | ||||
* | Fix updates not working within after_create hooks | Aaron Pfeifer | 2013-03-27 | 1 | -1/+1 |
| | |||||
* | When we pass id to update_attributes it will try to set new id for that record | Dmitry Vorotilin | 2013-03-22 | 1 | -1/+1 |
| |