aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Timestamp values should be present on callbacksRafael Mendonça França2014-06-092-18/+14
| | | | | | | This reverts commit dd3ea17191e316aeebddaa7b176f6cfeee7a6365 and add a regression test. Fixes #15418
* Rename `type_cast` to `type_cast_from_database`Sean Griffin2014-06-0912-101/+101
| | | | | | | | In some cases there is a difference between the two, we should always be doing one or the other. For convenience, `type_cast` is still a private method on type, so new types that do not need different behavior don't need to implement two methods, but it has been moved to private so it cannot be used accidentally.
* Merge pull request #15587 from sgrif/sg-remove-workaroundRafael Mendonça França2014-06-091-15/+8
|\ | | | | Remove workaround for non-lazy serialize in tests
| * Remove workaround for non-lazy serialize in testsSean Griffin2014-06-091-15/+8
| | | | | | | | `serialize` is now lazy, so the workaround is no longer needed.
* | Make `_before_type_cast` actually be before type castSean Griffin2014-06-096-6/+12
|/ | | | | | | | | | | | | - The following is now true for all types, all the time - `model.attribute_before_type_cast == given_value` - `model.attribute == model.save_and_reload.attribute` - `model.attribute == model.dup.attribute` - `model.attribute == YAML.load(YAML.dump(model)).attribute` - Removes the remaining types implementing `type_cast_for_write` - Simplifies the implementation of time zone aware attributes - Brings tz aware attributes closer to being implemented as an attribute decorator - Adds additional point of control for custom types
* fix test cases after #15558 merge to master.Kuldeep Aggarwal2014-06-071-3/+3
|
* Merge pull request #15558 from sgrif/sg-rename-propertyRafael Mendonça França2014-06-075-17/+17
|\ | | | | | | | | | | | | | | Rename `property` to `attribute` Conflicts: activerecord/lib/active_record/attribute_methods/serialization.rb activerecord/lib/active_record/base.rb
| * Rename `property` to `attribute`Sean Griffin2014-06-075-17/+17
| | | | | | | | For consistency with https://github.com/rails/rails/pull/15557
* | Merge pull request #15546 from sgrif/sg-lazy-decoratorsRafael Mendonça França2014-06-072-0/+119
|\ \ | | | | | | Don't query the database schema when calling `serialize`
| * | Don't query the database schema when calling `serialize`Sean Griffin2014-06-072-0/+119
| | | | | | | | | | | | | | | | | | We need to decorate the types lazily. This is extracted to a separate API, as there are other refactorings that will be able to make use of it, and to allow unit testing the finer points more granularly.
* | | Ensure time zones don't change after round trip with array columnsSean Griffin2014-06-071-0/+2
| | | | | | | | | | | | | | | The times would be equivalent, even if they were in different time zones. E.g. 12:00 UTC == 5:00 PDT
* | | Don't rely on `Time.current` in testsSean Griffin2014-06-071-5/+10
| |/ |/| | | | | Millisecond inequality causes failures on Travis
* | Add array support when time zone aware attributes are enabledSean Griffin2014-06-071-0/+16
|/
* Merge pull request #15533 from sgrif/sg-missing-schema-testsYves Senn2014-06-061-0/+29
|\ | | | | Add missing test cases for schema dumping defaults
| * Add missing test cases for schema dumping defaultsSean Griffin2014-06-061-0/+29
| |
* | `ActiveRecord::SchemaMigration` has no primary key.Yves Senn2014-06-061-0/+14
| | | | | | | | | | | | | | | | | | | | Before this patch, using `ActiveRecord::Base.primary_key_prefix_type` with `:table_name_with_underscore` would change the `SchemaMigration` model to have a primary key. This resulted in broken queries for PG because it tried to return the inserted PK (which does not exist). Closes #15051. Closes #15419.
* | test refactor, don't hardcode default for `table_name_prefix`.Yves Senn2014-06-061-1/+2
| |
* | test refactor, don't hardcode `primary_key_prefix_type` default.Yves Senn2014-06-061-0/+3
| | | | | | | | /cc @zuhao
* | serialized Type should delegate `type_cast_for_write` to underlying TypeYves Senn2014-06-061-0/+35
|/ | | | | | | This adds a regression test for #14411, which was fixed by #15503. Closes #14411 Closes #14595
* Merge pull request #15503 from sgrif/sg-json-hstore-storageYves Senn2014-06-065-4/+22
|\ | | | | Bring type casting behavior of hstore/json in line with serialized
| * Bring type casting behavior of hstore/json in line with serializedSean Griffin2014-06-045-4/+22
| | | | | | | | | | `@raw_attributes` should not contain the type-cast, mutable version of the value.
* | `bin/rake db:migrate:status` works with legacy migration numbers.Yves Senn2014-06-061-0/+7
| | | | | | | | | | | | | | The migration numbers were normalized different ways. This left the task output in an inconsistent state. Closes #15538.
* | Merge pull request #14971 from versioncontrol/#14785Yves Senn2014-06-061-0/+9
|\ \ | | | | | | | | | Baseclass becomes! subclass
| * | Fix Baseclass becomes! subclass.Edo Balvers2014-05-131-0/+9
| | |
* | | Fix behavior of handling BC era dates.edogawaconan2014-06-051-0/+12
| | | | | | | | | | | | BC era year is (astronomical year + 1) and starts from 1 BC.
* | | Merge pull request #15512 from akshay-vishnoi/delete-deprecated-methodYves Senn2014-06-051-41/+0
|\ \ \ | | | | | | | | | | | | Remove deprecated method ActiveRecord::Migrator.proper_table_name
| * | | Remove deprecated method ActiveRecord::Migrator.proper_table_nameAkshay Vishnoi2014-06-051-41/+0
| | | |
* | | | Fix inverse associations testLeandro Facchinetti2014-06-041-1/+1
|/ / / | | | | | | | | | | | | | | | `InverseHasManyTests#test_parent_instance_should_be_shared_within_create_block_of_new_child` was mistakenly the same as `InverseHasManyTests#test_parent_instance_should_be_shared_within_build_block_of_new_child`.
* | | have an actual `NullColumn` object and update docs accordingly.Yves Senn2014-06-041-0/+1
| | | | | | | | | | | | | | | | | | Follow up to #15438 and #15502. /cc @sgrif
* | | Merge pull request #15504 from sgrif/sg-postgres-defaultsRafael Mendonça França2014-06-041-0/+5
|\ \ \ | | | | | | | | Collapse PG default extractoin of most types to single regex
| * | | Collapse PG default extractoin of most types to single regexSean Griffin2014-06-041-0/+5
| | |/ | |/| | | | | | | | | | | | | | | | For any type that is represented as a string and then type cast, we do not need separate regular expressions for the various types. No function will match this regex. User defined types *should* match this, so that the type object can decide what to do with the value.
* | | Merge pull request #15463 from geopet/refactor_xml_compute_typeRafael Mendonça França2014-06-041-2/+3
|\ \ \ | |/ / |/| | Refactor XML serializer to not depend on `serialized_attributes`
| * | Test the serialized types of virtual columns in XMLGeoff Petrie & Sean Griffin2014-06-011-2/+3
| | | | | | | | | | | | | | | | | | | | | The previous tests were passing, because nothing ever looked at the generated XML. What was previously being generated was `<firstname type="NilClass">...`, which is not consistent with all other cases where there is not a known type.
* | | Merge pull request #15482 from laurocaetano/fix-regression-for-eager-loadCarlos Antonio da Silva2014-06-042-0/+16
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Fix regression on eager loading association based on SQL query rather than existing column. Conflicts: activerecord/CHANGELOG.md
| * | | Fix regression on eager loading association based on SQL query ratherLauro Caetano2014-06-032-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | than existing column. Fixes #15480.
* | | | Merge pull request #15438 from sgrif/sg-null-columnRafael Mendonça França2014-06-031-0/+19
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return a null column when no column exists for an attribute Conflicts: activerecord/CHANGELOG.md
| * | | | Return a null column when no column exists for an attributeSean Griffin2014-06-031-0/+19
| | | | |
* | | | | Merge pull request #15172 from notEthan/active_record_pretty_printRafael Mendonça França2014-06-031-0/+68
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implement ActiveRecord::Base#pretty_print Conflicts: activerecord/CHANGELOG.md
| * | | | | implement ActiveRecord::Base#pretty_print + changelogEthan2014-05-291-0/+68
| | | | | |
* | | | | | Merge pull request #15492 from sgrif/sg-dirty-defaultsRafael Mendonça França2014-06-031-0/+28
|\ \ \ \ \ \ | | | | | | | | | | | | | | Keep column defaults in type cast form
| * | | | | | Keep column defaults in type cast formSean Griffin2014-06-031-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The contract of `_field_changed?` assumes that the old value is always type cast. That is not the case for the value in `Column#default` as things are today. It appears there are other public methods that assume that `Column#default` is type cast, as well. The reason for this change originally was because the value gets put into `@raw_attributes` in initialize. This reverts to the old behavior on `Column`, and updates `initialize` to make sure that the values are in the right format.
* | | | | | | force table creationAaron Patterson2014-06-031-2/+3
| | | | | | |
* | | | | | | Revert "test pg, we don't care about the internal state of `column#default`."Yves Senn2014-06-037-0/+23
| |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "test pg, remove unused column assignments. Follow up to 254cdf47" Related to #15492 This reverts commit 254cdf4728291277f3fbaa854f34495030e476b4. This reverts commit 4bcf9029452e0c760af04faab6b549710401e8cf. There are public methods that assume `Column#default` is type casted. The return value of `Column#default` is publicly relevant and should not change. /cc @sgrif
* | | | | | test pg, remove unused column assignments. Follow up to 254cdf47Yves Senn2014-06-035-12/+0
| | | | | |
* | | | | | pg, preserve money type when dumping schema and extract money default.Yves Senn2014-06-033-17/+26
| | | | | |
* | | | | | test pg, rm unused requires.Yves Senn2014-06-0311-27/+0
| |_|/ / / |/| | | |
* | | | | Respect limit for PG bit stringsSean Griffin2014-06-031-8/+8
| | | | |