aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model/attribute_methods.rb
Commit message (Collapse)AuthorAgeFilesLines
...
| * fix `alias_attribute` will raise a syntax error if make an alias on aayaya2012-05-141-4/+4
| | | | | | | | column that named as a ruby keyword
* | Revert "Merge pull request #5702 from oscardelben/patch-4"Piotr Sarnacki2012-05-201-1/+3
| | | | | | | | | | | | | | This reverts commit cae1ca7d1be9c79c7ef012a1f62aef9d3bb815f8, reversing changes made to da97cf016a8ffd1f54f804cd881f393e5d6efc18. These changes break the build, it needs more investigation.
* | Call undefine_attribute_methods only when defining new attributesOscar Del Ben2012-05-181-3/+1
| |
* | allow define_attribute_methods to pass multiple valuesFrancesco Rodriguez2012-05-141-7/+7
| |
* | Merge pull request #5729 from oscardelben/use_tapJosé Valim2012-05-131-5/+1
|\ \ | | | | | | Use the more idiomatic tap method
| * | Use the more idiomatic tap methodOscar Del Ben2012-04-041-5/+1
| |/
* | simplify the alias_attribute example [ci skip]Vijay Dev2012-05-081-20/+1
| |
* | added docs to alias_attribute methodFrancesco Rodriguez2012-05-071-0/+31
|/
* ruby 2.0 makes protected methods return false for respond_to, so pass true ↵Aaron Patterson2012-02-211-1/+1
| | | | as the second param
* remove unused capturesAaron Patterson2012-01-191-2/+2
|
* Fix stack level too deep when model does not have attributes method.Piotr Sarnacki2012-01-151-1/+1
| | | | | | | | | | | Without that patch when using ActiveModel::AttributeMethods in a class that does not respond to `attributes` method, stack level too deep error will be raised on non existing method. While documentation is clear that you need to define `attributes` method in order to use AttributeMethods module, `stack level too deep` is rather obscure and hard to debug, therefore we should try to not break `method_missing` if someone forgets about defining `attributes`.
* Support configuration on ActiveRecord::Model.Jon Leighton2011-12-281-1/+2
| | | | | | | | | | | | | | | The problem: We need to be able to specify configuration in a way that can be inherited to models that include ActiveRecord::Model. So it is no longer sufficient to put 'top level' config on ActiveRecord::Base, but we do want configuration specified on ActiveRecord::Base and descendants to continue to work. So we need something like class_attribute that can be defined on a module but that is inherited when ActiveRecord::Model is included. The solution: added ActiveModel::Configuration module which provides a config_attribute macro. It's a bit specific hence I am not putting this in Active Support or making it a 'public API' at present.
* remove deprecated define_attr_method from ActiveModel::AttributeMethodsSergey Nartimov2011-12-241-41/+0
|
* Deprecated `define_attr_method` in `ActiveModel::AttributeMethods`Jon Leighton2011-11-291-37/+20
| | | | | This only existed to support methods like `set_table_name` in Active Record, which are themselves being deprecated.
* Speed up attribute invocation by checking if both name and calls are compilable.José Valim2011-11-141-27/+32
|
* Class name specified in example is Person, not AttributePerson.Uģis Ozols2011-09-291-3/+3
|
* Generate attribute method unless it's already in the module.Jon Leighton2011-09-141-1/+1
| | | | | | | There's no harm in generating a method name that's already defined on the host class, since we're generating the attribute methods in a module that gets included. In fact, this is desirable as it allows the host class to call super.
* Add an attribute_missing method to ActiveModel::AttributeMethods.Jon Leighton2011-09-131-8/+11
| | | | This can be overloaded by implementors if necessary.
* Avoid double super call in some cases.Jon Leighton2011-09-131-5/+4
| | | | | If super was false earlier, it is still going to be false, so we don't need to call it again at the end of the method.
* Let Ruby deal with method visibility.Jon Leighton2011-09-131-13/+11
| | | | | | Check respond_to_without_attributes? in method_missing. If there is any method that responds (even private), let super handle it and raise NoMethodError if necessary.
* Add deprecation for doing `attribute_method_suffix ''`Jon Leighton2011-09-131-0/+11
|
* refactoringJon Leighton2011-09-131-19/+11
|
* Use an empty AttributeMethodMatcher by default.Jon Leighton2011-09-131-2/+9
| | | | | | This means that attribute methods which don't exist will get generated when define_attribute_methods is called, so we don't have to use hacks like `attribute_method_suffix ''`.
* Made attribute_method_matchers_cache private + docLawrence Pit2011-07-171-3/+13
|
* Issue #2075 Optimization of ActiveModel's match_attribute_method?Lawrence Pit2011-07-161-9/+17
|
* Optimization of ActiveModel's match_attribute_method?Lawrence Pit2011-07-151-2/+5
|
* let this regexp be stricterXavier Noria2011-04-191-1/+1
| | | | | | | | | The purpose of this regexp is to detect strings that are valid identifiers to be used as method names. The anchor $ allows a trailing newline, and both ^ and $ may be bypassed because Ruby regexps are multiline always. The anchors \A and \z are the proper ones to ensure string boundaries.
* Let's not dup because value may not always be duplicable.José Valim2011-04-191-1/+1
|
* Avoid define_method if possible.José Valim2011-04-191-12/+39
|
* use class_eval with a string when it's possibleSantiago Pastorino2011-03-221-2/+8
|
* Do not in place modify what table_name returnsSantiago Pastorino2011-03-221-1/+1
|
* define_attr_method should be able to define methods that returns nilSantiago Pastorino2011-03-171-2/+2
|
* remove misleading commentAaron Patterson2011-03-171-2/+0
|
* dup strings on return so that in place modifications do not break anything. ↵Aaron Patterson2011-03-171-1/+1
| | | | I am looking at you "compute_table_name"
* define_attr_method correctly defines methods with invalid identifiersSantiago Pastorino2011-03-161-3/+2
|
* Move ActiveModel::AttributeMethods#attribute_methods_generated? to ↵Alexander Uvarov2011-03-011-25/+19
| | | | | | | | ActiveRecord, so it's flexible now [#6428 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* module_eval is not needed hereSantiago Pastorino2011-02-031-5/+3
|
* method_defined?, define_method and send accepts a string as argumentSantiago Pastorino2011-02-031-6/+6
|
* allow spaces and other characters in attribute names [#4725 state:resolved]Caleb Land2011-02-031-4/+4
| | | | | | | | * define the dynamically defined methods with 'define_method' instead of def * wrap some string injected method names in quotes Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Deleted extra "a" in method commentPaul Yoder2011-01-271-1/+1
|
* No need to symbolize these.José Valim2010-12-271-1/+1
|
* define_attr_method must serialize nil correctlyAaron Patterson2010-12-201-1/+1
|
* grammar fixAditya Sanghi2010-11-271-2/+2
|
* Fix when database column name has some symbolic characters. [#5818 ↵Robert Pankowecki2010-11-141-5/+5
| | | | state:resolved]
* Fewer object allocationsJeremy Kemper2010-09-091-8/+6
|
* Cheaper attribute_method_matchersJeremy Kemper2010-09-091-9/+10
|
* Fix require for class_attributeJeremy Kemper2010-09-091-1/+1
|
* Deletes trailing whitespaces (over text files only find * -type f -exec sed ↵Santiago Pastorino2010-08-141-42/+42
| | | | 's/[ \t]*$//' -i {} \;)
* typo in AMAdam Meehan2010-08-091-1/+1
|
* Fix a bunch of minor spelling mistakesEvgeniy Dolzhenko2010-06-151-1/+1
|\