aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | Add some meta-assertions for the custom assertionsMatthew Draper2015-07-211-11/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I accidentally discovered `assert_threads_not_stuck` couldn't fail, so the simplest solution was to prove they're all now working in both directions.
| * | | | | | | | | Order of execution is only guaranteed if upgradingMatthew Draper2015-07-212-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the thread isn't yet holding any form of lock, it has no claim over what may / may not run while it's blocked.
| * | | | | | | | | Fix ShareLock issues.thedarkone2015-07-201-2/+2
| | | | | | | | | |
| * | | | | | | | | Tests for AS::Concurrency::ShareLock.thedarkone2015-07-201-0/+194
| | | | | | | | | |
| * | | | | | | | | We need stricter locking before we can unloadMatthew Draper2015-07-204-34/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifically, the "loose upgrades" behaviour that allows us to obtain an exclusive right to load things while other requests are in progress (but waiting on the exclusive lock for themselves) prevents us from treating load & unload interchangeably: new things appearing is fine, but they do *not* expect previously-present constants to vanish. We can still use loose upgrades for unloading -- once someone has decided to unload, they don't really care if someone else gets there first -- it just needs to be tracked separately.
* | | | | | | | | | Remove ivar only when definedAkira Matsuda2015-07-241-2/+2
| |_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | this fixes a failing test case
* | | | | | | | | Improvements on the enum documentation [ci skip]Robin Dupret2015-07-231-9/+11
| |_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The note regarding the `_prefix` and `_suffix` options is no longer useful since they were renamed specifically for this purpose. Also the given example doesn't show what these options enable and in which case they are really useful (when there are conflicting values for instance). Refs #20999. [Godfrey Chan & Robin Dupret]
* | | | | | | | Merge pull request #20999 from robin850/enum-prefix-suffixKasper Timm Hansen2015-07-233-15/+15
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | Rename the enum_prefix and enum_suffix options to _prefix and _suffix
| * | | | | | | Rename the enum_{prefix,suffix} options to _{prefix,suffix}Robin Dupret2015-07-233-15/+15
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it more clear that they are reserved keywords and also it seems less redundant as the line already starts with the call to the `enum` method.
* | | | | | | Merge pull request #20993 from budnik/patch-1Robin Dupret2015-07-231-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fixes documentation typo.[ci skip]
| * | | | | | | Fixes documentation typo.Дмитро Будник2015-07-231-2/+2
|/ / / / / / / | | | | | | | | | | | | | | Documentation had extra colon after keyword.
* | | | | | | Merge pull request #20989 from matthewd/no-lock-basic-requireMatthew Draper2015-07-231-6/+4
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Don't apply locking around basic #load / #require
| * | | | | | Don't apply locking around basic #load / #requireMatthew Draper2015-07-231-6/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's outside our remit, and dangerous... if a caller has their own locking to protect against the natural race danger, we'll deadlock against it.
* | | | | | rm `deep_munge`. You will live on in our hearts (and git history)Aaron Patterson2015-07-213-26/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have encoding strategies, we can just walk the params hash once to encode as HWIA, and remove nils.
* | | | | | push param encoding in to the utils moduleAaron Patterson2015-07-212-14/+30
| | | | | | | | | | | | | | | | | | | | | | | | we'll refactor deep munge mostly out of existence shortly
* | | | | | stop keeping track of keys when "deep munging"Aaron Patterson2015-07-211-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | This should have been done along with 8f8ccb9901cab457c6e1d52bdb25acf658fd5777
* | | | | | recurse for arrays in `normalize_encode_params`Aaron Patterson2015-07-211-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this just pushes the conditional in to the case / when so we can switch to method dispatch later
* | | | | | drop conditionals in conversion logicAaron Patterson2015-07-211-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | there is no reason to `convert_hashes_to_parameters` with an assignemt flag. The caller knows whether or not it wants the value assigned. We should just change the uncommon case (not writing to the underlying hash) to just call the conversion method and return that value.
* | | | | | rearrange logic to use positive branchesAaron Patterson2015-07-211-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | only hashes are converted to parameter objects, so lets add a branch for them. This also removes a is_a? test for Parameters so we can be abstracted from the class.
* | | | | | Merge pull request #20973 from vngrs/fix_rails_testsRafael Mendonça França2015-07-211-1/+1
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | fix rails tests
| * | | | | fix rails testsMehmet Emin İNAÇ2015-07-211-1/+1
|/ / / / /
* | | | | Merge pull request #20967 from lxsameer/record_not_foundRafael Mendonça França2015-07-215-5/+35
|\ \ \ \ \ | | | | | | | | | | | | Extra caller details added to ActiveRecord::RecordNotFound
| * | | | | Extra caller details added to ActiveRecord::RecordNotFoundSameer Rahmani2015-07-215-5/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ActiveRecord::RecordNotFound modified to store model name, primary_key and id of the caller model. It allows the catcher of this exception to make a better decision to what to do with it. For example consider this simple example: class SomeAbstractController < ActionController::Base rescue_from ActiveRecord::RecordNotFound, with: :redirect_to_404 private def redirect_to_404(e) return redirect_to(posts_url) if e.model == 'Post' raise end end
* | | | | | Merge pull request #20926 from rsanheim/fail-fast-bin-setupRafael Mendonça França2015-07-211-5/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | add system! to fail fast in bin/setup
| * | | | | | add system! to fail fast in bin/setupRob Sanheim2015-07-181-5/+9
| | | | | | |
* | | | | | | Merge pull request #20819 from y-yagi/rails_api_gemfileRafael Mendonça França2015-07-212-1/+4
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | remove `web-console` from API app generated Gemfile
| * | | | | | remove `web-console` from API app generated Gemfileyuuji.yaginuma2015-07-092-1/+4
| | | | | | |
* | | | | | | Merge pull request #20668 from ↵Rafael Mendonça França2015-07-216-4/+73
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | repinel/rename-restrict-dependent-destroy-i18n-key Deprecate the keys for association `restrict_dependent_destroy` errors in favor of new key names
| * | | | | | | Deprecate and rename the keys for association restrict_dependent_destroyRoque Pinel2015-07-206-4/+73
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously `has_one` and `has_many` associations were using the `one` and `many` keys respectively. Both of these keys have special meaning in I18n (they are considered to be pluralizations) so by renaming them to `has_one` and `has_many` we make the messages more explicit and most importantly they don't clash with linguistical systems that need to validate translation keys (and their pluralizations). The `:'restrict_dependent_destroy.one'` key should be replaced with `:'restrict_dependent_destroy.has_one'`, and `:'restrict_dependent_destroy.many'` with `:'restrict_dependent_destroy.has_many'`. [Roque Pinel & Christopher Dell]
* | | | | | | Merge pull request #20732 from jorihardman/timestamp_precison2Sean Griffin2015-07-206-18/+62
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Ensure that microsecond precision is only used for versions of mysql that support it.
| * | | | | | | Ensure that microsecond precision is only used for version of mysql that ↵Jori Hardman2015-07-206-18/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | support it. Fixes #19711
* | | | | | | | Merge pull request #20751 from repinel/remove-unnecessary-dupRafael Mendonça França2015-07-201-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove unnecessary `dup` from Mapper `add_route`
| * | | | | | | | Remove unnecessary `dup` from Mapper `add_route`Roque Pinel2015-07-011-1/+1
| | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `dup` was introduced by c4106d0c08954b0761726e0015ec601b7bc7ea4b to work around a frozen key. Nowadays, the string is already being duplicated by the `tr` in `options[:action] ||= action.tr('-', '_')` and later joined into a new string in `name_for_action`.
* | | | | | | | Merge pull request #17109 from thejamespinto/patch-1Rafael Mendonça França2015-07-201-1/+1
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | titleizing the New Link
| * | | | | | | titleizing the New LinkThiago Pinto2015-07-201-1/+1
|/ / / / / / /
* | | | | | | Merge pull request #20956 from djpowers/patch-1Sean Griffin2015-07-201-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix minor typo in testing guide [ci skip]
| * | | | | | | Fix minor typo in testing guideDave Powers2015-07-201-1/+1
|/ / / / / / / | | | | | | | | | | | | | | [ci skip]
* | | | | | | Fix minor typo in test nameSean Griffin2015-07-201-1/+1
| | | | | | |
* | | | | | | Merge pull request #20947Sean Griffin2015-07-204-1/+26
|\ \ \ \ \ \ \
| * | | | | | | Fix state being carried over from previous transactionRoque Pinel2015-07-204-1/+26
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This clears the transaction record state when the transaction finishes with a `:committed` status. Considering the following example where `name` is a required attribute. Before we had `new_record?` returning `true` for a persisted record: ```ruby author = Author.create! name: 'foo' author.name = nil author.save # => false author.new_record? # => true ```
* | | | | | | Correctly ignore `mark_for_destruction` without `autosave`Sean Griffin2015-07-204-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per the docs, `mark_for_destruction` should do nothing if `autosave` is not set to true. We normally persist associations on a record no matter what if the record is a new record, but we were always skipping records which were `marked_for_destruction?`. Fixes #20882
* | | | | | | Merge pull request #20949 from vngrs/missing_method_in_exceptionSean Griffin2015-07-201-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add missing method name to exception description
| * | | | | | | Add missing method name to exception descriptionMehmet Emin İNAÇ2015-07-201-1/+1
| | |_|_|/ / / | |/| | | | |
* | | | | | | Merge pull request #20950 from vngrs/fix_wrong_doc_about_transactionSean Griffin2015-07-201-2/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | fix doc about ActiveRecord::Transactions::ClassMethods#transaction [ci skip]
| * | | | | | | fix doc about ActiveRecord::Transactions::ClassMethods#transaction [ci skip]Mehmet Emin İNAÇ2015-07-201-2/+1
| |/ / / / / /
* | | | | | | Merge pull request #20895 from brian-davis/brian-davisSean Griffin2015-07-201-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | grammar fix to content_for method documentation in capture_helper.rb [ci skip]
| * | | | | | | grammar fix to content_for method documentation in capture_helper.rbBrian Davis2015-07-151-1/+1
| | | | | | | |
* | | | | | | | Merge pull request #20384 from kaspth/per-request-cacheDavid Heinemeier Hansson2015-07-204-17/+82
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Use digest cache in development.
| * | | | | | | Remove unused persistent option.Kasper Timm Hansen2015-07-181-3/+3
| | | | | | | |
| * | | | | | | Make digest cache work in development.Kasper Timm Hansen2015-07-184-14/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid computing the same fragment digest many times when looping over templates. The cache is cleared on every request so template changes are still picked up.