aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Move method used only in the test to the test code itselfIvan Kataitsev2013-04-251-8/+0
| | | |
* | | | Merge branch 'active-record-standalone-improvements'Piotr Sarnacki2013-04-243-24/+90
|\ \ \ \
| * | | | Use env == 'development' instead of env.development?Piotr Sarnacki2013-04-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's simpler to assume that passed env is just a string without any extensions, especially when DatabaseTasks are intended to be used also without rails.
| * | | | Don't require Rails.env in order to use AR::Tasks::DatabaseTasksPiotr Sarnacki2013-04-242-6/+8
| | | | |
| * | | | Add some documentation to ActiveRecord::Tasks::DatabaseTasksPiotr Sarnacki2013-04-241-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a public class, which could be used directly in order to allow easier database management. Now it also contains settings, which will be used by databases.rake.
| * | | | Use DatabaseTasks.fixtures_path instead of FIXTURES_PATH in db.rakePiotr Sarnacki2013-04-243-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow to set fixtures path in global config easier, it should be not needed to use FIXTURES_PATH every time user wants to load fixtures.
| * | | | Don't require having Rails.application to run database tasksPiotr Sarnacki2013-04-243-15/+32
| | | | |
* | | | | Fix a SystemStackError that occurs when using time zone aware attributes.Dan Erikson2013-04-251-1/+1
| | | | | | | | | | | | | | | | | | | | This fixes issue #10066
* | | | | Remove code duplicationNeeraj Singh2013-04-241-8/+9
| | | | |
* | | | | Lookup the class at runtime, not when the association is builtAndrew White2013-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to lookup the parent class when the association is being built runs the risk of generating uninitialized constant errors because classes haven't been fully defined yet. To work around this we look up the class at runtime through the `association` method. Fixes #10197.
* | | | | Revert "Revert "`belongs_to :touch` behavior now touches old association ↵Andrew White2013-04-241-1/+12
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when transitioning to new association" until a proper fix is found for #10197" This reverts commit 7389df139a35436f00876c96d20e81ba23c93f0a. Conflicts: activerecord/test/cases/timestamp_test.rb
* | | | Revert "`belongs_to :touch` behavior now touches old association when ↵David Heinemeier Hansson2013-04-231-12/+1
| | | | | | | | | | | | | | | | transitioning to new association" until a proper fix is found for #10197
* | | | When empty options passed to having clause having_values was [nil] but ↵Fyodor2013-04-231-1/+0
| | | | | | | | | | | | | | | | should be empty.
* | | | Update counter cache when pushing into associationMatthew Robertson2013-04-211-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a regression bug in which counter_cache columns were not being updated correctly when newly created records were being pushed into an assocation. EG: # this was fine @post.comment.create! # this was fine @comment = Comment.first @post.comments << @comment # this would not update counters @post.comments << Comment.create!
* | | | Merge pull request #10280 from vipulnsward/fix_typos_tempSteve Klabnik2013-04-212-2/+2
|\ \ \ \ | | | | | | | | | | fix typos [ci skip]
| * | | | fix typosVipul A M2013-04-212-2/+2
| | | | |
* | | | | if singletons belong to the contract, test themXavier Noria2013-04-201-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | Object#respond_to? returns singletons and thus we inherit that contract. The implementation of the predicate is good, but the test is only checking boolean semantics, which in this case is not enough.
* | | | fix respond_to? for non selected columnNeeraj Singh2013-04-191-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #4208 If a query selects only a few columns and gives custom names to those columns then respond_to? was returning true for the non selected columns. However calling those non selected columns raises exception. post = Post.select("'title' as post_title").first In the above case when `post.body` is invoked then an exception is raised since `body` attribute is not selected. Howevere `respond_to?` did not behave correctly. pos.respond_to?(:body) #=> true Reason was that Active Record calls `super` to pass the call to Active Model and all the columns are defined on Active Model. Fix is to actually check if the data returned from the db contains the data for column in question.
* | | | Revert "Merge pull request #10183 from jholton/fix_association_auto_save"Jon Leighton2013-04-191-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e8727d37fc49d5bf9976c3cb5c46badb92cf4ced, reversing changes made to d098e1c24bc145e0cc14532348436e14dc46d375. Reason: it broke the mysql build
* | | | destroys association records before saving/inserting new association recordsJohnny Holton2013-04-191-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes bug introduced by #3329 These are the conditions necessary to reproduce the bug: - For an association, autosave => true. - An association record is being destroyed - A new association record is being created. - There is a unique index one of the association's fields. - The record being created has the same value as the record being destroyed on the indexed field. Before, the deletion of records was postponed until after all insertions/saves. Therefore the new record with the identical value in the indexed field caused a non-unique value error to be thrown at the database level. With this fix, the deletions happen first, before the insertions/saves. Therefore the record with the duplicate value is gone from the database before the new record is created, thereby avoiding the non-uniuqe value error.
* | | | Merge pull request #10264 from cconstantine/masterRafael Mendonça França2013-04-191-1/+1
|\ \ \ \ | | | | | | | | | | Postgresql array columns don't properly escape single quote strings when loading fixtures
| * | | | Fix loading of fixtures when the column type is a postgres array of strings.Chris Constantine2013-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | - A string in an array of strings that has a quote char (') needs to have that quote char escaped if the array is getting wrapped in quote chars.
* | | | | Improve the error messageRafael Mendonça França2013-04-191-1/+1
| | | | |
* | | | | Merge pull request #10217 from mirasrael/make-migrator-run-transactional-4.0Rafael Mendonça França2013-04-191-5/+12
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support transactions in Migrator.run Conflicts: activerecord/CHANGELOG.md
| * | | | | Support transactions in Migrator.runbondarev2013-04-181-5/+12
| | |/ / / | |/| | |
* | | | | Merge pull request #10200 from ↵Jon Leighton2013-04-191-2/+4
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | calebthompson/ct-fix-freeze-freezing-cloned-models Fix freeze applying to cloned objects
| * | | | Fix freeze applying to cloned objectsCaleb Thompson2013-04-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, freezing a cloned ActiveRecord object froze the original too. By cloning `@attributes` before freezing, we prevent cloned objects (which in Ruby share state of ivars) from being effected by `#freeze`. Resolves issue #4936, which has further information on this issue, as well as steps to reproduce. * Add a test case for `#freeze` not causing `cloned.frozen?` to be true. * Clone @attributes before freezing in `ActiveRecord::Core`, then reassign the cloned, frozen hash to the frozen model's `@attributes` ivar. /cc @steveklabnik
* | | | | Revert "Merge pull request #10043 from cconstantine/master"Rafael Mendonça França2013-04-181-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 521035af530482d6d9ad2dae568eaeb0ab188e1c, reversing changes made to 222011dbee842bbc60d3aaaa3145356b90a30fd1. Reason: This broke the tests
* | | | | Merge pull request #10043 from cconstantine/masterRafael Mendonça França2013-04-181-0/+15
|\ \ \ \ \ | | | | | | | | | | | | DB with postgres string array column doesn't load fixtures well
| * | | | | Fix loading of string arrays in postgresChris Constantine2013-04-081-0/+15
| | | | | |
* | | | | | Merge pull request #10258 from thenickcox/pending_migrations_pluralRafael Mendonça França2013-04-181-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix subject-verb agreement in error msg (and other grammar stuff)
| * | | | | | Fix subject-verb agreement in error msg (and other grammar stuff)thenickcox2013-04-171-3/+3
| | | | | | |
* | | | | | | add :nodoc: mark to *Registry classes [ci skip]Francesco Rodriguez2013-04-172-4/+4
| | | | | | |
* | | | | | | let EXPLAIN use a thread locals registry [John J. Wang & Xavier Noria]Xavier Noria2013-04-163-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #10198.
* | | | | | | Fix #7619. 0x prefix must be added when assigning hexadecimal string into ↵kennyj2013-04-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | bit column in Postgresql, because solving ambiguity.
* | | | | | | Use db:test:load instead of db:test:load_schemaPiotr Sarnacki2013-04-161-1/+1
| |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | db:test:load task should be favored over db:test:load_schema, because it checks for chosen format (ActiveRecord::Base.schema_format). closes #10227
* | | | | | Add OID::Bit for supporting bit string.kennyj2013-04-162-2/+19
| | | | | |
* | | | | | Merge pull request #10214 from mattetti/ar_postgres_byteaRafael Mendonça França2013-04-151-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | AR postgres binary bug fix
| * | | | | | fix for the bytea/binary nil value bugMatt Aimonetti2013-04-141-0/+1
| | |_|/ / / | |/| | | |
* / | | | | Document collection.create! on has_many associations in ActiveRecordMario Visic2013-04-151-0/+4
|/ / / / /
* | | | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-04-132-7/+7
|\ \ \ \ \
| * | | | | fix :nodoc: mark on AR::AttributeMethods::Serialization [ci skip]Francesco Rodriguez2013-04-121-2/+2
| | | | | |
| * | | | | minor edit on StatementCache documentation [ci skip]Francesco Rodriguez2013-04-121-1/+1
| | | | | |
| * | | | | Fix StatementCache docs format [ci skip]Francesco Rodriguez2013-04-111-5/+5
| | | | | |
* | | | | | hides the per thread registry instance, and caches singleton methodsXavier Noria2013-04-131-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Existing code was delegating to the instance with delegate macro calls, or invoking the instance method to reach the object and call its instance methods. But the point is to have a clean class-level interface where the thread local instance is hidden in the implementation. References #11c6973. References #10198.
* | | | | | removes calls to AR::Runtime.instanceXavier Noria2013-04-133-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Registries have class-level accessors to write clean code, let's use them. This makes style uniform also with existing usage in ScopeRegistry and InstrumentationRegistry. If performance of the method_missing callback was ever considered to be a concern, then we should stop using it altogether and probably remove the callback. But while we have the feature we should use it.
* | | | | | simplifies the RDoc of AR::RuntimeRegistryXavier Noria2013-04-131-20/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous version was kind of duplicating the documentation of AS::PerThreadRegistry. Just say how to use it, the thread locals registry is know part of our vocabulary (though a pointer to Active Support is added for reference).
* | | | | | complete rewrite of the documentation of AS::PerThreadRegistryXavier Noria2013-04-131-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * It focuses on how to use it. * Removes some ambigueties in the original docs about whether the state is stored in the class. * Documents it provides class-level accessors via method_missing. * Documents that if the extended class has an initializer, it must accept no arguments.
* | | | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-04-117-8/+19
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: guides/source/action_mailer_basics.md
| * | | | | JoinPart is no longer an abstract classNeeraj Singh2013-04-081-1/+1
| | | | | |