aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
Commit message (Collapse)AuthorAgeFilesLines
...
* | Remove not assigned variable warning from sqlite3 adapter testCarlos Antonio da Silva2012-10-291-1/+1
| |
* | Fix bug when Column is trying to type cast boolean values to integer.Rafael Mendonça França2012-10-291-4/+4
| | | | | | | | | | | | | | | | | | | | | | This can occur if the user is using :integer columns to store boolean values. Now we are handling the boolean values but it still raises if the value can't type cast to integer and is not a boolean. See #7509. Fixes #8067. Conflicts: activerecord/CHANGELOG.md
* | Fix the skip code.Rafael Mendonça França2012-10-281-4/+4
| | | | | | | | Checking for the constant doesn't work
* | SQLite3Adapter#type_cast should not mutate argumentsStefan Rusterholz2012-10-281-0/+6
| |
* | ActiveRecord::Relation#none! method.Juanjo Bazán2012-10-281-0/+6
| |
* | loaded relations cannot be mutated by extending!Juanjo Bazán2012-10-281-0/+9
| |
* | Enable update_column(s) for the primary key attribute.Henrik N2012-10-281-0/+13
| | | | | | | | Didn't work before because it updated the model-in-memory first, so the DB query couldn't find the record.
* | raise `ArgumentError` when redefining the primary key column. Closes #6378Yves Senn2012-10-281-0/+20
| |
* | refactor `SQLite3Adapter#copy_table` to prevent primary key redefinitions. #6378Yves Senn2012-10-281-1/+8
| |
* | 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.
* | Use the MySQL varbinary type when appropriate in migrations.Victor Costan2012-10-273-0/+34
| |
* | Decode attributes pulled from URI.parseShawn Veader2012-10-261-0/+8
| | | | | | | | | | | | | | The RFC indicates that username and passwords may be encoded. http://tools.ietf.org/html/rfc2396#section-3.2.2 Found this trying to use the mysql://username:password@host:port/db and having special characters in the password which needed to be URI encoded.
* | Remove ActiveRecord::ModelJon Leighton2012-10-2613-201/+43
| | | | | | | | | | | | | | | | | | | | In the end I think the pain of implementing this seamlessly was not worth the gain provided. The intention was that it would allow plain ruby objects that might not live in your main application to be subclassed and have persistence mixed in. But I've decided that the benefit of doing that is not worth the amount of complexity that the implementation introduced.
* | frozen state should be restored after txn is abortedAaron Patterson2012-10-221-0/+15
| |
* | Add tests to make sure that the I18n taken message can be overrided in theRafael Mendonça França2012-10-221-0/+14
| | | | | | | | | | | | activerecord scope. Related with 5341b84936d93ec90e6252af437a3871101c115a
* | Revert "Get rid of the ActiveRecord::Model::DeprecationProxy thing."Jeremy Kemper2012-10-201-0/+36
| | | | | | | | This reverts commit 83846838252397b3781eed165ca301e05db39293.
* | Changed scope for "taken" error message translation to decrease precedenceAndrew DiMichele2012-10-191-0/+5
| | | | | | | | | | | | Moved activerecord.errors.messages.taken to errors.messages.taken so that translations for, e.g., errors.attributes.email.taken don't get overridden. Test that the translation for 'taken' can be overridden
* | Get rid of the ActiveRecord::Model::DeprecationProxy thing.Jon Leighton2012-10-191-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think it's going to be too much pain to try to transition the :active_record load hook from executing against Base to executing against Model. For example, after Model is included in Base, and modules included in Model will no longer get added to the ancestors of Base. So plugins which wish to be compatible with both Model and Base should use the :active_record_model load hook which executes *before* Base gets loaded. In general, ActiveRecord::Model is an advanced feature at the moment and probably most people will continue to inherit from ActiveRecord::Base for the time being.
* | Rename the partial_updates config to partial_writesJon Leighton2012-10-192-16/+30
| | | | | | | | This reflects the fact that it now impact inserts as well as updates.
* | nodoc the first_or_create methods and document alternativesJon Leighton2012-10-191-0/+10
| |
* | fix test :/Jon Leighton2012-10-191-5/+1
| |
* | The default value of a text/blob in mysql strict mode should be nilJon Leighton2012-10-191-17/+55
| | | | | | | | | | | | | | | | | | In non-strict mode it is '', but if someone is in strict mode then we should honour the strict semantics. Also, this removes the need for a completely horrible hack in dirty.rb. Closes #7780
* | Add Relation#find_or_create_by and friendsJon Leighton2012-10-191-0/+23
| | | | | | | | | | | | | | This is similar to #first_or_create, but slightly different and a nicer API. See the CHANGELOG/docs in the commit. Fixes #7853
* | remove unused variables. Oops!Aaron Patterson2012-10-171-2/+2
| |
* | use columns hash to look up the column for the count fieldAaron Patterson2012-10-171-13/+6
| |
* | Fix bug with presence validation of associations.Scott Willson2012-10-161-0/+7
| | | | | | | | Would incorrectly add duplicated errors when the association was blank. Bug introduced in 1fab518c6a75dac5773654646eb724a59741bc13.
* | Merge pull request #7371 from csmuc/fix_dup_validation_errorsSantiago Pastorino2012-10-161-0/+14
|\ \ | | | | | | Dup'ed ActiveRecord objects may not share the errors object
| * | Call super to nullify the reference to the original errors object in the ↵Christian Seiler2012-10-161-0/+14
| | | | | | | | | | | | dup'ed object (call ActiveModel::Validations#initialize_dup). Closes #7291
* | | ActiveRecord: sum expression returns string '0' for no records, fixedTim Macfarlane2012-10-151-0/+4
| | |
* | | use `setup` for setting up the testAaron Patterson2012-10-151-5/+1
| | |
* | | Fix typo in inet and cidr savingMiguel Herranz2012-10-141-0/+13
| | |
* | | #7914 get default value when type uses schema nameArturo Pie2012-10-132-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PostgreSQL adapter properly parses default values when using multiple schemas and domains. When using domains across schemas, PostgresSQL prefixes the type of the default value with the name of the schema where that type (or domain) is. For example, this query: ``` SELECT a.attname, d.adsrc FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = "defaults"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum; ``` could return something like "'<default_value>'::pg_catalog.text" or "(''<default_value>'::pg_catalog.text)::text" for the text columns with defaults. I modified the regexp used to parse this value so that it ignores anything between ':: and \b(?:character varying|bpchar|text), and it allows to have optional parens like in the above second example.
* | | learn ActiveRecord::QueryMethods#order work with hash argumentsTima Maslyuchenko2012-10-121-0/+16
| | |
* | | 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.
* | | Cleanup trailing whitespacesdfens2012-10-125-5/+5
| | |
* | | Merge pull request #7887 from senny/remove_unused_requires_in_ar_testsVijay Dev2012-10-104-4/+0
|\ \ \ | | | | | | | | remove duplicated require statements in AR test cases
| * | | remove duplicated require statements in AR test casesYves Senn2012-10-094-4/+0
| | | |
* | | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-10-112-2/+2
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | Conflicts: activerecord/lib/active_record/persistence.rb railties/lib/rails/generators/rails/resource_route/resource_route_generator.rb
| * | | gradually moving documentation to new hash syntaxAvnerCohen2012-10-102-2/+2
| | | |
* | | | Merge pull request #7859 from ernie/fix-collection-associations-with-selectAaron Patterson2012-10-091-0/+8
|\ \ \ \ | |_|/ / |/| | | Fix has_many assocation w/select load after create
| * | | Fix has_many assocation w/select load after createErnie Miller2012-10-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you create a new record via a collection association proxy that has not loaded its target, and which selects additional attributes through the association, then when the proxy loads its target, it will inadvertently trigger an ActiveModel::MissingAttributeError during attribute writing when CollectionAssociation#merge_target_lists attempts to do its thing, since the newly loaded records will possess attributes the created record does not. This error also raises a bogus/confusing deprecation warning when accessing the association in Rails 3.2.x, so cherry-pick would be appreciated!
| * | | Revert "Use flat_map { } instead of map {}.flatten"Santiago Pastorino2012-10-053-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit abf8de85519141496a6773310964ec03f6106f3f. We should take a deeper look to those cases flat_map doesn't do deep flattening. irb(main):002:0> [[[1,3], [1,2]]].map{|i| i}.flatten => [1, 3, 1, 2] irb(main):003:0> [[[1,3], [1,2]]].flat_map{|i| i} => [[1, 3], [1, 2]]
| * | | Use flat_map { } instead of map {}.flattenSantiago Pastorino2012-10-053-4/+4
| | | |
* | | | Move/rename files to follow naming conventionsAlexey Muranov2012-10-071-0/+0
| | | |
* | | | Rename "Fixtures" class to "FixtureSet"Alexey Muranov2012-10-075-29/+29
| | | | | | | | | | | | | | | | Rename `ActiveRecord::Fixtures` class to `ActiveRecord::FixtureSet`. Instances of this class normally hold a collection of fixtures (records) loaded either from a single YAML file, or from a file and a folder with the same name. This change make the class name singular and makes the class easier to distinguish from the modules like `ActiveRecord::TestFixtures`, which operates on multiple fixture sets, or `DelegatingFixtures`, `::Fixtures`, etc., and from the class `ActiveRecord::Fixture`, which corresponds to a single fixture.
* | | | Remove unneeded requireRafael Mendonça França2012-10-061-1/+0
| | | |
* | | | Move multiparameter attributes related tests to its own fileRafael Mendonça França2012-10-062-337/+351
| | | |
* | | | PostgreSQL, quote table names when fetching the primary key. Closes #5920Yves Senn2012-10-051-0/+4
|/ / /
* | | Count returns 0 without querying if parent is not savedFrancesco Rodriguez2012-10-033-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patches `CollectionAssociation#count` to return 0 without querying if the parent record is new. Consider the following code: class Account has_many :dossiers end class Dossier belongs_to :account end a = Account.new a.dossiers.build # before patch a.dossiers.count # SELECT COUNT(*) FROM "dossiers" WHERE "dossiers"."account_id" IS NULL # => 0 # after a.dosiers.count # fires without sql query # => 0 Fixes #1856.
* | | fix warning: method redefinedkennyj2012-10-021-1/+1
| | |