aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/attribute_methods/read.rb
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Roflscaling!" (for now)Jon Leighton2011-12-021-6/+9
| | | | | | | | This reverts commit f6b5046305d43c5f64bcb6fed0e44f7bca99a603. Fear not, the roflscale will return when I have a bit more time and figure out a better way to do it. (In particular, a way that doesn't break the build.)
* Fewer string allocations in attribute methodJon Leighton2011-12-011-4/+4
|
* Roflscaling!Jon Leighton2011-12-011-9/+6
| | | | | Don't prefix the name with attribute_. Avoids a string allocation on read_attribute, which is a bit faster.
* Create method with known identifier then alias into place.Jon Leighton2011-12-011-25/+21
| | | | | | | | This means we never have to rely on define_method (which is slower and uses more memory), even when we have attributes containing characters that are not allowed in standard method names. (I am mainly changing this because the duplication annoys me, though.)
* Remove some unnecessary code etcJon Leighton2011-12-011-7/+8
|
* Add test for read_attribute(:id) with non-standard PK.Jon Leighton2011-12-011-4/+4
| | | | | | | | Also make it actually work. It slows down all read_attribute accesses to map 'id' to whatever the PK actually is, inside read_attribute. So instead make sure the necessary methods are defined and that they redirect wherever they need to go.
* Remove the need for type_cast_attribute.Jon Leighton2011-12-011-31/+31
| | | | This is good because it reduces duplication.
* Get rid of the underscore versions of attribute methods!Jon Leighton2011-12-011-4/+0
| | | | This makes me happy!
* Don't rely on underscore-prefixed attribute methods.Jon Leighton2011-12-011-30/+61
| | | | | | Define singleton methods on the attributes module instead. This reduces method pollution on the actual model classes. It also seems to make something faster, I am unsure why! O_o
* consistencyJon Leighton2011-11-301-10/+10
|
* Don't need second paramJon Leighton2011-11-301-3/+3
|
* No longer need to undef id as we are defining it ourselvesJon Leighton2011-11-301-3/+0
|
* Extract attribute serialization code into a separate moduleJon Leighton2011-11-301-28/+5
|
* Use inheritance to avoid special-case code for the 'id' methodJon Leighton2011-11-301-4/+0
|
* Speed up attribute invocation by checking if both name and calls are compilable.José Valim2011-11-141-1/+1
|
* Revert "Raise error on unknown primary key."Jon Leighton2011-10-051-3/+3
| | | | This reverts commit ee2be435b1e5c0e94a4ee93a1a310e0471a77d07.
* Raise error on unknown primary key.Jon Leighton2011-10-051-3/+3
| | | | | If we don't have a primary key when we ask for it, it's better to fail fast. Fixes GH #2307.
* Add deprecation for doing `attribute_method_suffix ''`Jon Leighton2011-09-131-2/+0
|
* only calculate method name onceAaron Patterson2011-06-301-2/+3
|
* Remove extra white spaces on ActiveRecord docs.Sebastian Martinez2011-05-231-1/+1
|
* Avoid define_method if possible.José Valim2011-04-191-1/+1
|
* Return nil from read_attribute(:foo) if 'foo' is not present in the ↵Jon Leighton2011-04-151-1/+1
| | | | @attributes hash, but the _foo method has been defined. This brings the behaviour into line with the 3-0-stable branch and the master branch before 93641ed6c8c684f6b4db02b6c8a22fa9bc7f0eaf (there were previously no assertions about this which is why the change slipped through). Note that actually calling the 'foo' method will still raise an error if the attribute is not present.
* Undo performances regressions I introduced in ↵Jon Leighton2011-04-151-5/+23
| | | | bbe0a507f287c20ab4ae8a244fbfc810665deda5 and add test for an edge case. Add comments to explain the intent of the code.
* Remove unnecessary code from define_read_method and add assertion to make ↵Jon Leighton2011-04-151-7/+4
| | | | sure the underscored version is actually generated
* Fixes performance issue introduced in 3.0.6 (issue #6695)Stian Grytøyr2011-04-141-3/+5
|
* use class_eval with a string when it's possibleSantiago Pastorino2011-03-221-3/+7
|
* Allow to read and write AR attributes with non valid identifiersSantiago Pastorino2011-03-221-1/+4
|
* make sure de-serialization happens on object instantiationAaron Patterson2011-02-011-1/+1
|
* move the coders to the serialized_attributes hashAaron Patterson2011-02-011-7/+3
|
* use an identity conversion to avoid conditional codesAaron Patterson2011-01-281-2/+2
|
* join the cult of cargo. reduce the number of NoMethodErrors in the systemAaron Patterson2011-01-071-1/+1
|
* no need for to_symAaron Patterson2011-01-071-1/+1
|
* String#insert() mutates the string, so no need for lasgnAaron Patterson2011-01-071-1/+1
|
* fewer funcalls to the cached attributes variableAaron Patterson2011-01-071-1/+1
|
* Ensure that boolean false is properly serialized [#6079 state:resolved]Aditya Sanghi2010-12-081-1/+2
|
* No need for parenthesis hereSantiago Pastorino2010-10-171-1/+1
|
* no need to check for nilNeeraj Singh2010-10-171-1/+1
| | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Cheaper attribute reads and respond_to?. Add underscore-prefixed method ↵Jeremy Kemper2010-09-091-3/+7
| | | | aliased to the attribute name so it can be overridden but still called internally.
* Cache unserialized attributesJeremy Kemper2010-09-091-5/+9
|
* Revert "Refactoring attributes/types" [#3348 state:open]Pratik Naik2010-01-221-4/+45
| | | | | | | | | | | | | | | | | This reverts commit f936a1f100e75082081e782e5cceb272885c2df7. Conflicts: activerecord/lib/active_record.rb activerecord/lib/active_record/base.rb Revert "Fixed: #without_typecast should only disable typecasting on the duplicated attributes" [#3387 state:open] This reverts commit 2831996483c6a045f1f38d8030256eb58d9771c3. Reason : It's not generating attribute methods properly, making object.column 5x slower.
* Refactoring attributes/types [#3348 state:resolved]Eric Chapweske2009-10-171-45/+4
| | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Ruby 1.9.2: Object#id is gone nowJeremy Kemper2009-08-071-1/+1
|
* Extract generic attribute method generation to AMoJoshua Peek2009-08-041-2/+2
|
* Modified ActiveRecord::AttributeMethods to allow classes to specify ↵Paul Gillard2009-08-041-1/+1
| | | | | | attribute method prefixes and/or suffixes. Previously only suffixes were allowed. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Track generated attribute methods in a separate moduleJoshua Peek2009-08-021-2/+2
|
* Move attribute_types_cached_by_default into attribute methods reading concernJoshua Peek2009-07-301-0/+11
|
* Don't need to pass attr_name to evaluate_attribute_method anymoreJoshua Peek2009-07-301-2/+2
|
* Undefine id and let it automatically be generatedJoshua Peek2009-07-301-11/+2
|
* Redirect method missing for primary key to read_attributeJoshua Peek2009-07-301-2/+2
|
* Move id attribute methods into their related concernJoshua Peek2009-07-301-0/+11
|