aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/attribute_methods_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Just call read_attribute, no need to use `send`.Lauro Caetano2014-04-141-4/+4
| | | | Follow up to af549a1ad6692d7e2c756750651f0e1b293f5185
* Use teardown helper method.Guo Xiang Tan2014-03-141-1/+1
| | | | | | | | Follow-Up to https://github.com/rails/rails/pull/14348 Ensure that SQLCounter.clear_log is called after each test. This is a step to prevent side effects when running tests. This will allow us to run them in random order.
* Fixes STI when 2+ levels deep.Arthur Neves2014-03-101-0/+13
| | | | | | PR #14052 Added a regression where it was only looking for methods in one level up, So when the method was defined in a 2+ levels up the inheritance chain, the method was not found as defined.
* Merge remote-tracking branch ↵Jon Leighton2014-02-251-11/+19
|\ | | | | | | | | | | | | 'chancancode/fix_instance_method_already_implemented' Conflicts: activerecord/CHANGELOG.md
| * Fixed STI classes not defining an attribute method if there is aGodfrey Chan2014-02-231-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conflicting private method defined on its ancestors. The problem is that `method_defined_within?(name, klass, superklass)` only works correclty when `klass` and `superklass` are both `Class`es. If both `klass` and `superklass` are both `Class`es, they share the same inheritance chain, so if a method is defined on `klass` but not `superklass`, this method must be introduced at some point between `klass` and `superklass`. This does not work when `superklass` is a `Module`. A `Module`'s inheritance chain contains just itself. So if a method is defined on `klass` but not on `superklass`, the method could still be defined somewhere upstream, e.g. in `Object`. This fix works by avoiding calling `method_defined_within?` with a module while still fufilling the requirement (checking that the method is defined withing `superclass` but not is not a generated attribute method). 4d8ee288 is likely an attempted partial fix for this problem. This unrolls that fix and properly check the `superclass` as intended. Fixes #11569.
* | Coerce strings when reading attributes.Yves Senn2014-02-231-0/+18
|/
* Fix AR#method_missing re-dispatching into overwritten attribute methods.thedarkone2013-09-291-2/+33
| | | | | | | | | | | | | | This was happening when a `super` call in an overwritten attribute method was triggering a method_missing fallback, because attribute methods haven't been generated yet. class Topic < ActiveRecord::Base def title # `super` would re-invoke this method if define_attribute_methods # hasn't been called yet resulting in double '!' appending super + '!' end end
* Merge pull request #9860 from wangjohn/update_attributes_throws_error_with_nilRafael Mendonça França2013-09-241-1/+1
|\ | | | | | | | | | | | | Raising an error when nil is passed to update_attributes. Conflicts: activerecord/CHANGELOG.md
| * Raising an error when nil or non-hash is passed to update_attributes.wangjohn2013-06-251-1/+1
| |
* | Remove deprecation warning from attribute_missing Arun Agrawal2013-07-151-15/+0
| | | | | | for attributes that are columns.
* | Fix: attribute_for_inspect truncate upto (51 => 50) characters.namusyaka2013-07-091-1/+1
|/
* Extract AR::AttributeMethods#attribute_for_inspect's test code out from ↵Takehiro Adachi2013-05-221-0/+8
| | | | | | | base_test.rb The method itself got extracted out from ActiveRecored::Base in commit ceb33f84933639d3b61aac62e5e71fd087ab65ed, but the test code never did.
* test refactorAaron Patterson2013-05-161-5/+2
|
* Add more data to AR::UnknownAttributeErrorBogdan Gusiev2013-05-161-0/+12
| | | | | | | | | begin Topic.new("hello" => "world") rescue ActiveRecord::UnknownAttributeError => e e.record # => #<Topic ... > e.attribute # => "hello" end
* read_attribute_before_type_cast should accept symbolNeeraj Singh2013-05-111-0/+1
|
* fixes a test, and explains why AR::AttributeMethods checks ↵Xavier Noria2013-04-281-5/+2
| | | | defined?(@attributes) in some places
* Removed space and unused classAnupam Choudhury2013-04-061-1/+1
|
* fix typos in AR. lots of them.Vipul A M2013-03-191-2/+2
|
* Remove not used require and some useless test commentsCarlos Antonio da Silva2012-11-171-12/+3
|
* Fix typo in module name and make #in_time_zone privateCarlos Antonio da Silva2012-11-171-1/+1
|
* Extract #in_time_zone helper method duplication to a moduleCarlos Antonio da Silva2012-11-171-12/+2
|
* Simplify helper method in attribute methods testCarlos Antonio da Silva2012-11-171-3/+1
|
* AR::AttributeMethods#[] raises AM::AttributeMissingError for missing attributes.Francesco Rodriguez2012-10-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This fixes the following behaviour: class Person < ActiveRecord::Base belongs_to :company end # Before: person = Person.select('id').first person[:name] # => nil person.name # => ActiveModel::MissingAttributeError: missing_attribute: name person[:company_id] # => nil person.company # => nil # After: person = Person.select('id').first person[:name] # => ActiveModel::MissingAttributeError: missing_attribute: name person.name # => ActiveModel::MissingAttributeError: missing_attribute: name person[:company_id] # => ActiveModel::MissingAttributeError: missing_attribute: company_id person.company # => ActiveModel::MissingAttributeError: missing_attribute: company_id Fixes #5433.
* Revert "Key the attributes hash with symbols"Jon Leighton2012-10-121-2/+2
| | | | | | | | | | | | This reverts commit 86c3dfbd47cb96af02daaa655963292b1a1b110e. Conflicts: activerecord/lib/active_record/attribute_methods/read.rb Reason: whilst this increased performance, it also presents a DoS risk via memory exhaustion if users were allowing user input to dictate the arguments of read/write_attribute. I will investigate alternative ways to cut down on string allocations here.
* test cleanup, remove ruby_type because it's no longer neededYves Senn2012-09-031-1/+1
| | | | | All tests with a custom inheritance_column use the `Vegtable` model. The field ruby_type on the Company models is no longer needed
* Key the attributes hash with symbolsJon Leighton2012-08-311-2/+2
| | | | | | | | This is a performance/GC optimisation. In theory, this could be optimised by the implementation (last time I checked, this would have no effect on JRuby). But in practise, this make attribute access faster.
* Move the serialized attribute tests to their own fileRafael Mendonça França2012-08-261-11/+0
|
* Move test to the correct fileRafael Mendonça França2012-08-261-0/+6
|
* Refactor missing parameter validation based on positionCarlos Antonio da Silva2012-08-181-1/+0
|
* load active_support/core_ext/object/inclusion in active_support/railsXavier Noria2012-08-021-1/+0
|
* Deprecate ActiveRecord::Base.scoped.Jon Leighton2012-07-271-4/+4
| | | | | | | It doesn't serve much purpose now that ActiveRecord::Base.all returns a Relation. The code is moved to active_record_deprecated_finders.
* Fix class_eval without __FILE__ and __LINE__.kennyj2012-07-181-1/+1
|
* Move newly added multiparameter tests to base_test fileCarlos Antonio da Silva2012-06-281-35/+1
| | | | | All other multiparameter assignment tests are in the same file, so it makes sense to have all of them here.
* Skip test_setting_time_attribute because Oracle databaseYasuo Honda2012-06-281-0/+2
| | | | does not have TIME data type.
* Fixes #6825, adds tests covering cases and error possibilities, also changes ↵Mauricio Linhares2012-06-271-0/+33
| | | | SQLite3 driver to correctly generate a time column instead of datetime
* Remove unused assignments from activerecord testsMark Rushakoff2012-04-291-2/+2
|
* %s/find(:\(first\|last\|all\), \([^()]*\))/scoped(\2).\1/gcI amongst other ↵Jon Leighton2012-04-271-4/+4
| | | | things
* remove calls to find(:first), find(:last) and find(:all)Jon Leighton2012-04-261-1/+1
|
* attribute_present? should return false for empty stringsJacob Green2012-03-061-0/+3
|
* Fix warning: assigned but unused variablekennyj2012-03-011-3/+0
|
* force datetime attributes to be changed, fix GH #3965Sergey Nartimov2012-02-281-0/+13
|
* move id_before_type_cast to PrimaryKey moduleSergey Nartimov2012-02-161-0/+8
|
* Revert PR#5001 "removed unuseful require for reply as we are not using ↵Vishnu Atrai2012-02-121-0/+1
| | | | | | require model" This reverts commit 7381596ea32aff47222af89e4bc66000f4597acb.
* removed unuseful require for reply as we are not using require modelKarunakar (Ruby)2012-02-111-1/+0
|
* fixing the list of cached columnsAaron Patterson2012-02-091-1/+3
|
* only exclude serialized columns from cacheable columnsAaron Patterson2012-02-091-1/+1
|
* Test that #[] and #[]= keep working when #read_attribute and ↵Tom Stuart2012-01-111-0/+33
| | | | #write_attribute are overridden
* Test ActiveRecord::Base#[]= as well as #write_attributeTom Stuart2012-01-111-1/+7
|
* Fix #4046.Jon Leighton2011-12-231-0/+20
|
* remove deprecated underscore versions of attribute methodsSergey Nartimov2011-12-211-8/+0
|