aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #22506 from derekprior/dp-redirect_to_back_or_defaultSean Griffin2015-12-165-12/+80
|\ | | | | Add `redirect_to_back_or_default`
| * Deprecate `redirect_to :back`Derek Prior2015-12-164-21/+31
| | | | | | | | | | | | | | Applications that use `redirect_to :back` can be forced to 500 by clients that do not send the HTTP `Referer` (sic) header. `redirect_back` requires the user to consider this possibility up front and avoids this trivially-caused application error.
| * Add `redirect_back` for safer referrer redirectsDerek Prior2015-12-165-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `redirect_to :back` is a somewhat common pattern in Rails apps, but it is not completely safe. There are a number of circumstances where HTTP referrer information is not available on the request. This happens often with bot traffic and occasionally to user traffic depending on browser security settings. When there is no referrer available on the request, `redirect_to :back` will raise `ActionController::RedirectBackError`, usually resulting in an application error. `redirect_back` takes a required `fallback_location` keyword argument that specifies the redirect when the referrer information is not available. This prevents 500 errors caused by `ActionController::RedirectBackError`.
* | Fix test failure on WindowsSean Griffin2015-12-161-6/+10
| | | | | | | | | | | | | | When this test was run on Windows, the database file would still be in use, and `File.unlink` would fail. This would cause the temp directory to be unable to be removed, and error out. By disconnecting the connection when finished, we can avoid this error.
* | Merge branch 'sprockets-3'Rafael Mendonça França2015-12-165-58/+40
|\ \
| * | Use sprockets 3 in the Rails 5 releaseRafael Mendonça França2015-12-165-57/+46
| | |
* | | Merge pull request #22556 from imanel/range_prependKasper Timm Hansen2015-12-161-10/+7
|\ \ \ | | | | | | | | Use Module.prepend instead of alias_method for Range#to_s
| * | | Use Module.prepend instead of alias_method for Range#to_sBernard Potocki2015-12-161-10/+7
| | | |
* | | | Merge pull request #17845 from gsamokovarov/qualified-constRafael França2015-12-163-74/+107
|\ \ \ \ | | | | | | | | | | Don't leak Object constants in core_ext/module/qualified_const
| * | | | Don't leak Object constants in core_ext/module/qualified_constGenadi Samokovarov2015-12-163-74/+107
| | |/ / | |/| |
* / | | Avoid conditionals in the GemfileSean Griffin2015-12-162-6/+16
|/ / / | | | | | | | | | | | | "conditionals in the gemfile creates conditional code in the Gemfile.lock. Since it is checked in the repository I think it is better to avoid it"
* | | Require a version of bcrypt that works on Windows when neededSean Griffin2015-12-161-1/+5
| | | | | | | | | | | | | | | | | | bcrypt 3.1.0 doesn't load on Windows. See https://github.com/codahale/bcrypt-ruby/issues/128 for details.
* | | Merge pull request #22567 from gsamokovarov/introduce-application-recordRafael França2015-12-1616-134/+200
|\ \ \ | | | | | | | | Introduce ApplicationRecord, an Active Record layer supertype
| * | | Introduce ApplicationRecord, an Active Record layer supertypeGenadi Samokovarov2015-12-1616-134/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's pretty common for folks to monkey patch `ActiveRecord::Base` to work around an issue or introduce extra functionality. Instead of shoving even more stuff in `ActiveRecord::Base`, `ApplicationRecord` can hold all those custom work the apps may need. Now, we don't wanna encourage all of the application models to inherit from `ActiveRecord::Base`, but we can encourage all the models that do, to inherit from `ApplicationRecord`. Newly generated applications have `app/models/application_record.rb` present by default. The model generators are smart enough to recognize that newly generated models have to inherit from `ApplicationRecord`, but only if it's present.
* | | | Add additional platforms for WindowsSean Griffin2015-12-161-1/+1
| |_|/ |/| | | | | | | | | | | It appears that MRI on Windows can also appear as `:mingw`, if it was installed via RubyInstaller.
* | | Merge pull request #22605 from tonyta/delete-dead-commentsRafael França2015-12-165-39/+0
|\ \ \ | | | | | | | | Delete dead code comments
| * | | delete code commented out (and replaced) in e93d0a5Tony Ta2015-12-151-1/+0
| | | |
| * | | deletes commented code introduced in f238d495Tony Ta2015-12-151-5/+0
| | | | | | | | | | | | | | | | ActiveSupport::Multibyte::Unicode::Codepoint doesn't support this API
| * | | deletes commented code introduced in db045db (initial commit)Tony Ta2015-12-152-18/+0
| | | |
| * | | deletes commented code introduced in 4673c47dTony Ta2015-12-151-5/+0
| | | |
| * | | deletes code commented out in 72160d9fTony Ta2015-12-151-10/+0
| | | |
* | | | Ensure we install the database backend gems on WindowsSean Griffin2015-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | platform `:ruby` is only MRI on Linux or Mac. Windows MRI shows up as `:mswin` or `:mswin64` depending on if it was installed as 32 or 64 bit. I am unsure if this will cause conflicts with JRuby on Windows, but I don't have the means to test this at the moment.
* | | | Merge pull request #22598 from yui-knk/deprecate_string_callbackRafael França2015-12-168-23/+31
|\ \ \ \ | | | | | | | | | | Deprecate passing string to define callback.
| * | | | Deprecate passing string to define callback.yui-knk2015-12-168-23/+31
| | | | |
* | | | | Merge pull request #22611 from existent-co-uk/patch-1Rafael França2015-12-161-2/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix a couple of grammatical errors in security.md
| * | | | | Fix a couple of grammatical errors in security.mdExistent Ltd2015-12-161-2/+2
| | | | | |
* | | | | | Merge pull request #22612 from caike/masterEileen M. Uchitelle2015-12-161-1/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Mention the correct way to halt callback chains
| * | | | | Mention the correct way to halt callback chainsCarlos Souza2015-12-161-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | The previous title was misleading. [ci skip]
* | | | | Merge branch 'remove-test-case'eileencodes2015-12-159-52/+64
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Run railties generated app tests in test enveileencodes2015-12-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running railties generated app tests in development env can cause unintended consequences. The environments are different and tests aren't meant to be run in development mode. The changes to the generator exposed this issue where the random test order in the generated apps could cause problems when those tests are run in development mode. Particularly we saw failures in `railties/test/application/rake_test.rb` generated apps that used the scaffold to create applications and then run the migration and immediately run the tests. The error we saw was `ActiveRecord::RecordNotFound: Couldn't find User with 'id'=980190962` and seemed to only occur if the destroy test ran first. I'm not entirely sure _why_ this causes that error to be thrown but I believe it is related to the environments being different.
| * | | | Update test generators to use ActionDispatch::IntegrationTestAbdelkader Boudih2015-12-158-49/+61
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Rails 5.1 `ActionController::TestCase` will be moved out of Rails into it's own gem. Please use `ActionDispatch::IntegrationTest` going forward. This changes the generators to use `ActionDispatch::IntegrationTest` and the required URL setup (rather than symbols) for each of the controller actions. Updated fix to #22076.
* | | | Do not default to any SerializerSantiago Pastorino2015-12-153-8/+2
| | | | | | | | | | | | | | | | We will wait until 5.1 to make a decision
* | | | Merge pull request #22562 from sblackstone/masterJeremy Daer2015-12-152-2/+9
|\ \ \ \ | | | | | | | | | | Allow users to pass flags from database.yml
| * | | | Allow users to pass flags from database.ymlStephen Blackstone2015-12-152-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix white-space Add test case demonstrating flags are received by the adapter
* | | | | Merge pull request #14212 from tylerhunt/fix-token-regexSean Griffin2015-12-152-1/+9
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Handle tab in token authentication header.
| * | | | | Handle tab in token authentication header.Tyler Hunt2014-02-262-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HTTP spec allows for LWS to precede the header content, which could include multiple SP and HT characters. Update the regex used to match the Token authorization header to account for this, instead of matching on a single SP. See http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html and http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html for the relevant parts of the specification.
* | | | | | Remove warning of shadowing variableRafael Mendonça França2015-12-151-1/+1
| |_|_|/ / |/| | | |
* | | | | Merge pull request #22596 from y-yagi/remove_extra_space_from_deprecation_msgEileen M. Uchitelle2015-12-152-2/+5
|\ \ \ \ \ | | | | | | | | | | | | remove extra spaces from deprecation message
| * | | | | remove extra spaces from deprecation messageyuuji.yaginuma2015-12-152-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` # before DEPRECATION WARNING: Time columns will become time zone aware in Rails 5.1. This still causes `String`s to be parsed as if they were in `Time.zone`, and `Time`s to be converted to `Time.zone`. To keep the old behavior, you must add the following to your initializer: config.active_record.time_zone_aware_types = [:datetime] To silence this deprecation warning, add the following: config.active_record.time_zone_aware_types << :time ``` ``` # after DEPRECATION WARNING: Time columns will become time zone aware in Rails 5.1. This still causes `String`s to be parsed as if they were in `Time.zone`, and `Time`s to be converted to `Time.zone`. To keep the old behavior, you must add the following to your initializer: config.active_record.time_zone_aware_types = [:datetime] To silence this deprecation warning, add the following: config.active_record.time_zone_aware_types << :time ```
* | | | | | Merge pull request #22595 from sstephenson/fragment_cache_keyDavid Heinemeier Hansson2015-12-154-11/+77
|\ \ \ \ \ \ | | | | | | | | | | | | | | Controller-wide fragment cache key prefixes
| * | | | | | Add fragment_cache_key macro for controller-wide fragment cache key prefixesSam Stephenson2015-12-142-3/+67
| | | | | | |
| * | | | | | Remove ActionView::Helpers::CacheHelper#fragment_cache_keySam Stephenson2015-12-143-8/+10
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced in e56c63542780fe2fb804636a875f95cae08ab3f4, `CacheHelper#fragment_cache_key` is a duplicate of `ActionController::Caching::Fragments#fragment_cache_key`. We now require the view to provide this method on its own (as with `view_cache_dependencies`); `ActionController::Caching::Fragments` exports its version as a `helper_method`.
* | | | | | Merge pull request #21538 from matthewd/migration-versionMatthew Draper2015-12-1557-136/+226
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add migration versioning via Migration subclasses
| * | | | | | Use a real migration version number in docsMatthew Draper2015-12-159-54/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though this means more things to change when we bump after a release, it's more important that our examples are directly copyable.
| * | | | | | Schema uses current migration APIMatthew Draper2015-12-151-1/+1
| | | | | | |
| * | | | | | In 4.2 migrations, `timestamps` defaulted to `null: true`Matthew Draper2015-12-151-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .. it also showed a deprecation warning, but we obviously needn't retain that.
| * | | | | | Find the delegate, even in a deeper inheritance treeMatthew Draper2015-12-151-1/+5
| | | | | | |
| * | | | | | Internal test migrations use the private 'Current' versionMatthew Draper2015-12-1540-64/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apart from specific versioning support, our tests should focus on the behaviour of whatever version they're accompanying, regardless of when they were written. Application code should *not* do this.
| * | | | | | Ensure generated migrations include a version numberMatthew Draper2015-12-153-14/+14
| | | | | | |
| * | | | | | Use a deliberately-invalid migration version in all doc examplesMatthew Draper2015-12-159-54/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we use a real version, at best that'll be an onerous update required for each release; at worst, it will encourage users to write new migrations against an older version than they're using. The other option would be to leave these bare, without any version specifier. But as that's just a variant spelling of "4.2", it would seem to raise the same concerns as above.