aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | Merge pull request #15802 from sgrif/sg-column-quotingRafael Mendonça França2014-06-191-25/+0
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Don't use column object for type casting in `quoting`
| * | | | | | | | | Don't use column object for type casting in `quoting`Sean Griffin2014-06-181-25/+0
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're never going to be able to use the attribute object here, however, so let's just accept the ugly demeter violation here for now. Remove test cases which were either redundant with other tests in the file, or were actually testing the type objects (which are tested elsewhere)
* | | | | | | | | Merge pull request #15818 from sgrif/sg-attribute-setRafael Mendonça França2014-06-191-0/+49
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Introduce an object to aid in creation and management of `@attributes`
| * | | | | | | | | Introduce an object to aid in creation and management of `@attributes`Sean Griffin2014-06-191-0/+49
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly delegation to start, but we can start moving a lot of behavior in bulk to this object.
* | | | | | | | | Merge pull request #15772 from nbudin/sti_through_bugRafael Mendonça França2014-06-192-0/+15
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't include inheritance column in the through_scope_attributes
| * | | | | | | | | Don't include inheritance column in the through_scope_attributesNat Budin2014-06-172-1/+16
| | |_|/ / / / / / | |/| | | | | | |
* | | | | | | | | Use a better test descriptionRafael Mendonça França2014-06-191-1/+1
| | | | | | | | |
* | | | | | | | | Fix has_and_belongs_to_many in a namespaced model pointing to a non ↵Rafael Mendonça França2014-06-193-0/+15
| |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | namespaced model Now the following case will work fine class Tag < ActiveRecord::Base end class Publisher::Article < ActiveRecord::Base has_and_belongs_to_many :tags end Fixes #15761
* | | | | | | | Reconnect after possibly enabling hstoreMatthew Draper2014-06-181-0/+2
| | | | | | | |
* | | | | | | | Merge pull request #15782 from sgrif/sg-column-defaultsMatthew Draper2014-06-1813-49/+35
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Don't type cast the default on the column
| * | | | | | | Don't type cast the default on the columnSean Griffin2014-06-1713-49/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we want to have type decorators mess with the attribute, but not the column, we need to stop type casting on the column. Where possible, we changed the tests to test the value of `column_defaults`, which is public API. `Column#default` is not.
* | | | | | | | Detect in-place changes on point typesSean Griffin2014-06-171-0/+11
| | | | | | | |
* | | | | | | | Enable hstore in array testsSean Griffin2014-06-171-0/+6
| | | | | | | |
* | | | | | | | Detect mutations of arrays and array membersSean Griffin2014-06-171-0/+23
| | | | | | | |
* | | | | | | | Ensure `OID::Array#type_cast_for_database` matches PG's quoting behaviorSean Griffin2014-06-172-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also takes a step towards supporting types which use a character other than ',' for the delimiter (`box` is the only built in type for which this is the case)
* | | | | | | | Merge pull request #15727 from aditya-kapoor/add-tests-for-migrationMatthew Draper2014-06-181-0/+17
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Add test cases for Migration#inverse_of
| * | | | | | | Add test cases for Migration#inverse_ofAditya Kapoor2014-06-171-0/+17
| | |/ / / / / | |/| | | | |
* | | | | | | Don't assume that Hstore columns have always changedSean Griffin2014-06-172-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HStore columns come back from the database separated by a comma and a space, not just a comma. We need to mirror that behavior since we compare the two values. Also adds a regression test against JSON to ensure we don't have the same bug there.
* | | | | | | Don't mess with `column_defaults` when optimistic locking is enabledSean Griffin2014-06-171-0/+7
| |/ / / / / |/| | | | |
* | | | | | add `bin/rake db:purge` task to empty the current database.Yves Senn2014-06-171-0/+28
| | | | | |
* | | | | | fix typo in test method names. [ci skip]Yves Senn2014-06-171-4/+4
| | | | | |
* | | | | | Promote time zone aware attributes to a first class type decoratorSean Griffin2014-06-162-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactoring revealed the need for another form of decoration, which takes a proc to select which it applies to (There's a *lot* of cases where this form can be used). To avoid duplication, we can re-implement the old decoration in terms of the proc-based decoration. The reason we're `instance_exec`ing the matcher is for cases such as time zone aware attributes, where a decorator is defined in a parent class, and a method called in the matcher is overridden by a child class. The matcher will close over the parent, and evaluate in its context, which is not the behavior we want.
* | | | | | Merge pull request #13963 from lucas-clemente/pending_migrationsRafael Mendonça França2014-06-161-0/+50
|\ \ \ \ \ \ | | | | | | | | | | | | | | Skip migration check if adapter doesn't support it
| * | | | | | skip migration check if adapter doesn't support itLucas Clemente2014-04-191-0/+50
| | | | | | |
* | | | | | | Merge pull request #15722 from akshay-vishnoi/spell-correctZachary Scott2014-06-153-3/+3
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | [ci skip] /mysql/i -> MySQL, Spell correct in continuation to #15555
| * | | | | | /mysql/i -> MySQL, Spell correct in continuation to #15555Akshay Vishnoi2014-06-143-3/+3
| | |_|_|/ / | |/| | | |
* / | | | | Deprecate `serialized_attributes` without replacementSean Griffin2014-06-141-2/+4
|/ / / / / | | | | | | | | | | | | | | | | | | | | We've stopped using it internally, in favor of polymorphism. So should you!
* | | | | Parsing DATABASE_URI, use URI#hostname: it's smarter about IPv6Matthew Draper2014-06-141-0/+12
| | | | | | | | | | | | | | | | | | | | Fixes #15705.
* | | | | Merge pull request #15343 from dontfidget/fix_polymorphic_automatic_inverse_ofRafael Mendonça França2014-06-134-0/+15
|\ \ \ \ \ | | | | | | | | | | | | prevent bad automatic inverse_of association
| * | | | | use name specified by 'as' for automatic inverse association to avoid ↵Andrew S. Brown2014-06-104-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | reflecting on wrong association
* | | | | | Through associations should set both parent ids on join modelsSean Griffin2014-06-132-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | member = Member.new(club: Club.new) member.save! Before: member.current_membership.club_id # => nil After: member.current_membership.club_id # => club's id
* | | | | | Merge pull request #15674 from sgrif/sg-mutable-attributesMatthew Draper2014-06-143-1/+39
|\ \ \ \ \ \ | | | | | | | | | | | | | | Detect in-place changes on mutable AR attributes
| * | | | | | Detect in-place changes on mutable AR attributesSean Griffin2014-06-133-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have several mutable types on Active Record now. (Serialized, JSON, HStore). We need to be able to detect if these have been modified in place.
* | | | | | | Reorder test which does not represent real world usageSean Griffin2014-06-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't generally modify our classes at runtime like this. Let's create the instance after the class is created. Original commit doesn't imply that this was intentional behavior.
* | | | | | | Merge pull request #15689 from sgrif/sg-attribute-methodsMatthew Draper2014-06-141-0/+8
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Ensure we always define attribute methods
| * | | | | | | Ensure we always define attribute methodsSean Griffin2014-06-131-0/+8
| | | | | | | |
* | | | | | | | Merge pull request #15593 from sgrif/sg-attributeRafael Mendonça França2014-06-136-21/+111
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Introduce an Attribute object to handle the type casting dance
| * | | | | | | Introduce an Attribute object to handle the type casting danceSean Griffin2014-06-136-21/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | PG arrays should type cast user inputSean Griffin2014-06-131-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We guarantee that `model.value` does not change after `model.save && model.reload`. This requires type casting user input for non-string types.
* | | | | | | | Add a test to ensure we don't get a performance regression on #hashSean Griffin2014-06-121-0/+7
| |/ / / / / / |/| | | | | |
* | | | | | | Update test data which doesn't reflect expected usageSean Griffin2014-06-122-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Topics call `serialize :content`, which means that the values in the database should be YAML encoded, and we would only expect to receive YAML strings to `update_column` and `update_columns`.
* | | | | | | Pluck should work with columns of the same name from different tablesSean Griffin2014-06-111-0/+7
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The column name given by the adapter doesn't include the table namespace, so going through the hashed version of the result set causes overridden keys. Fixes #15649
* | | | | | rm cached attributesSean Griffin2014-06-111-35/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original patch that added this concept can be found [here](https://web.archive.org/web/20090601022739/http://dev.rubyonrails.org/ticket/9767). The current default behavior is to cache everything except serialized columns, unless the user specified otherwise. If anyone were to specify otherwise, many types would actually be completely broken. Still, the method is left in place with a deprecation warning in case anyone is actually still calling this method.
* | | | | | remove deprecation call while initializing `ClassCache` objectKuldeep Aggarwal2014-06-111-6/+0
| | | | | |
* | | | | | Remove deprecated method ActiveRecord::Base.quoted_locking_columnAkshay Vishnoi2014-06-101-4/+0
| | | | | |
* | | | | | Merge pull request #15610 from sgrif/silence-warningsRafael Mendonça França2014-06-102-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix warnings in tests
| * | | | | | Silence warnings in tests.Sean Griffin2014-06-102-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` activerecord/test/cases/adapters/postgresql/range_test.rb:159: warning: (...) interpreted as grouped expression activerecord/test/cases/finder_test.rb:38: warning: shadowing outer local variable - e activerecord/test/cases/finder_test.rb:43: warning: shadowing outer local variable - e ```
* | | | | | | Keep the types of virtual columns after yaml serializationSean Griffin2014-06-101-1/+14
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | On MySQL and PostgreSQL, the adapter does not type cast virtual columns for us.
* | | | / / test, fix typo, `create_index` does not exist.Yves Senn2014-06-101-1/+1
| |_|_|/ / |/| | | |
* | | | | ActiveRecord::FinderMethods.find passes proc parameter #15382James Yang2014-06-101-0/+11
| | | | |