aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #11922 from Empact/string-confusionYves Senn2013-08-201-1/+1
|\ | | | | Stop interpreting SQL 'string' columns as :string type.
| * Stop interpreting SQL 'string' columns as :string type.Ben Woosley2013-08-171-1/+1
| | | | | | | | | | | | | | | | SQL doesn't have a string type, and interpreting 'string' as text is contrary to at least SQLite3's behavior: "Note that a declared type of 'STRING' has an affinity of NUMERIC, not TEXT." http://www.sqlite.org/datatype3.html
* | let AR::FinderMethods#exists? return singletons in all cases [closes #11592]Xavier Noria2013-08-191-7/+7
|/ | | | | | | | | | | | | | | | | | | | | This fixes a regression. The documentation said in its introduction paragraph that the method returns truthy/falsy, but then below it was said that if there were no arguments you'd get `true` or `false`. Also when the argument is exactly `false` a singleton is documented to be returned. The method was not returning the singletons so it didn't conform to those special cases. The best solution here seems to be to just return singletons in all cases. This solution is backwards compatible. Also, the contract has been revised because it has no sense that the predicate varies that way depending on the input. I bet the previous contract was just an accident, not something mixed on purpose. Conflicts: activerecord/lib/active_record/relation/finder_methods.rb activerecord/test/cases/finder_test.rb
* Fixing multi-word automatic inverse detection.wangjohn2013-08-151-2/+2
| | | | | Currently, ActiveRecord models with multiple words cannot have their inverse associations detected automatically.
* Rescue invalid ip address exceptions on assign.Paul Nikitochkin2013-08-141-1/+5
| | | | In order that set attribute should not be bang method
* Merge pull request #11838 from vipulnsward/drop_extra_varSteve Klabnik2013-08-121-2/+2
|\ | | | | drop extra variable
| * drop extra variableVipul A M2013-08-121-2/+2
| |
* | Restore the use of `#add_to_target` for nested attribute updates on existing ↵Ben Woosley2013-08-122-15/+14
| | | | | | | | | | | | | | | | | | records, and don't bother updating the association if the update is going to be rejected anyway. This requires adding a `skip_callbacks` argument to `#add_to_target` so that we don't call the callbacks multiple times in this case, which is functionally an application of existing association data, rather than an addition of a new record to the association.
* | Fix interactions between :before_add callbacks and nested attributes assignmentDr.(USA) Joerg Schray2013-08-121-10/+9
| | | | | | | | | | Issue #1: :before_add callback is called when nested attributes assignment assigns to existing record if the association is not yet loaded Issue #2: Nested Attributes assignment does not affect the record in the association target when callback triggers loading of the association
* | chmod -xAkira Matsuda2013-08-123-0/+0
| |
* | only reconnect if there was already an active connectionAaron Patterson2013-08-111-1/+4
| | | | | | | | | | If you're using an in-memory database for the test database, reconnecting will lose all information that schema:load did for us.
* | Make 'enable_extension' revertibleEric Tipton2013-08-101-1/+2
|/ | | | | If 'enable_extension' is used in a migration's 'change' method, use 'disable_extension' on down migration (and vice-versa).
* Remove redundant `string_to_binary` from type-castingVipul A M2013-08-095-18/+4
|
* Merge pull request #11802 from ko1/fix_field_encoding_for_mysqlAaron Patterson2013-08-073-1/+14
|\ | | | | Set field encoding to client_encoding for mysql adapter.
| * Set field encoding to client_encoding for mysql adapter.Koichi Sasada2013-08-083-1/+14
| |
* | cast hstore values on write to be consistent with reading from the db.Yves Senn2013-08-082-4/+12
|/
* Merge pull request #11331 from vipulnsward/remove_conditionalAaron Patterson2013-08-071-8/+1
|\ | | | | Remove conditional, results are always an instance of `ActiveRecord::Result`
| * Remove conditional, since results are always an instance of ↵Vipul A M2013-07-061-8/+1
| | | | | | | | `ActiveRecord::Result`
* | Fix multidimensional PG arrays containing non-string itemsYves Senn2013-08-071-1/+9
| |
* | config[:database] should be a stringRafael Mendonça França2013-08-051-3/+3
| | | | | | | | | | This change was breaking the Railties tests. See https://travis-ci.org/rails/rails/jobs/9865969
* | Remove deprecated branch on the scope method.Rafael Mendonça França2013-08-051-6/+2
| | | | | | | | The deprecation message was removed on 50cbc03d18c5984347965a94027879623fc44cce but the code was not.
* | Merge pull request #11767 from kassio/master-load-fixtures-from-linked-folderRafael Mendonça França2013-08-051-2/+2
|\ \ | | | | | | Load fixtures from linked folders[master]
| * | load fixtures from linked foldersKassio Borges2013-08-051-2/+2
| | |
* | | Merge pull request #11762 from peterkovacs/patch-2Carlos Antonio da Silva2013-08-051-1/+1
|\ \ \ | | | | | | | | Free result_metadata directly instead of freeing 2nd, redundant call.
| * | | Free result_metadata directly instead of freeing 2nd, redundant call.Peter Kovacs2013-08-051-1/+1
| | | | | | | | | | | | `result_metadata` returns a new object each time it is called, so calling `result_metadata.free` is essentially a noop. Instead call `free` directly on the metadata when we're done with it.
* | | | Create sqlite3 directory if not presentschneems2013-08-051-3/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the `db/` directory is not present on a remote machine it will blow up in unexpected ways with error messages that do not indicate there is a missing directory: ``` SQLite3::CantOpenException: unable to open database file ``` This PR checks to see if a directory exists for the sqlite3 file and if not creates it for you. This PR is an alternative to #11692 as suggested by @josevalim
* | | Merge pull request #11693 from egilburg/minor_relation_refactorRafael Mendonça França2013-08-041-38/+45
|\ \ \ | | | | | | | | Minor optimization and code cleanup in query_methods.rb
| * | | Minor optimization and code cleanup in query_methods.Eugene Gilburg2013-07-311-38/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use symbols rather than strings where possible to avoid extra object construction - Use destructive methods where possible to avoid extra object construction - Use array union rather than concat followed by uniq - Use shorthand block syntax where possible - Use consistent multiline block styles, method names, method parenteses style, and spacing
* | | | use flat_mapNeeraj Singh2013-08-031-1/+1
| |/ / |/| |
* | | Merge pull request #11455 from antonio/fix_enable_extension_not_being_definedRafael Mendonça França2013-08-021-0/+8
|\ \ \ | | | | | | | | Define enable_extension method to prevent undefined method error
| * | | Define enable_extension method to prevent undefined method errorAntonio Santos2013-08-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When mixing postgresql and another adapter like sqlite3 (for dev and test respectively), the task `db:test:prepare` will fail due to the `enable_extension` method not being defined in the abstract adapter. This patch simply adds an empty definition to prevent it.
* | | | Merge pull request #11714 from jetthoughts/11706_remove_bad_override_of_xmlRafael Mendonça França2013-08-021-7/+3
|\ \ \ \ | | | | | | | | | | Removed redundant xml override from pg adapter
| * | | | Removed redundant xml override from pg adapterPaul Nikitochkin2013-08-021-7/+3
| | | | | | | | | | | | | | | | | | | | Closes: #11706
* | | | | Use map! to avoid an extra object creationCarlos Antonio da Silva2013-08-021-1/+1
| | | | |
* | | | | Remove useless begin..endCarlos Antonio da Silva2013-08-021-2/+1
|/ / / /
* | | | extract habtm handling to a methodAaron Patterson2013-08-011-8/+12
| | | |
* | | | use drop and avoid a range objectAaron Patterson2013-08-011-1/+1
| | | |
* | | | remove intermediate assignmentsAaron Patterson2013-08-012-7/+4
| | | |
* | | | push option handling "chrome" outside `initialize`Aaron Patterson2013-08-011-8/+7
| | | |
* | | | remove `valid_options` class methodAaron Patterson2013-08-011-4/+3
| | | |
* | | | association builder classes no longer need the modelAaron Patterson2013-08-012-7/+6
| | | | | | | | | | | | | | | | | | | | decouple the builder classes from the model. Builder objects should be easier to reuse now.
* | | | remove more mutations from the `build` methodAaron Patterson2013-08-011-7/+2
| | | |
* | | | make mutation method apis more consistentAaron Patterson2013-08-012-4/+5
| | | |
* | | | push more mutations outside the factory methodAaron Patterson2013-08-012-8/+6
| | | |
* | | | push module building to the constructorAaron Patterson2013-08-011-14/+20
| | | |
* | | | users should be warned if clobbering constantsAaron Patterson2013-08-011-3/+1
| | | |
* | | | defning extensions happens once, no need to cacheAaron Patterson2013-08-011-5/+3
| | | |
* | | | assert that constants have been set rather than the namesAaron Patterson2013-08-011-3/+3
| | | |
* | | | remove dead codeAaron Patterson2013-08-011-4/+0
| | | |
* | | | pushing out more callback definitionsAaron Patterson2013-08-011-2/+6
| | | |