aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Ability to test activejobs with relative delayVlado Cingel2019-07-263-1/+23
| | | | | | | | | | `assert_enqueued_with` and `assert_performed_with` were not able to properly test jobs with relative delay. `:at` option was asserted for equality and test will always fail cause small fraction of time will pass between job call and assertion. This commit fixes that by droping microseconds from `:at` argument assertions.
* Merge pull request #36412 from robotdana/compact_blankRafael Mendonça França2019-07-2511-13/+118
|\ | | | | | | Add compact_blank shortcut for reject(&:blank?)
| * Use compact_blank throughout railsDana Sherson2019-06-056-13/+13
| |
| * Add compact_blank shortcut for reject(&:blank?)Dana Sherson2019-06-055-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | I frequently find myself having to .compact but for blank. which means on an array reject(&:blank?) (this is fine), or, on a hash `.reject { |_k, v| v.blank? }` which is slightly more frustrating and i usually write it as .reject(&:blank?) first and am confused when it's trying to check if the keys are blank. I've added the analagous .compact_blank! where there's a reject! to build on (there's also a reject! in Set, but there's no other core_ext touching Set so i've left that alone)
* | Merge pull request #36758 from jturkel/feature/hash-optimizationRafael França2019-07-251-1/+3
|\ \ | | | | | | Avoid unnecessary hash allocation in HashWithIndifferentAccess#convert_value
| * | Avoid hash allocation for HashWithIndifferentAccess#convert_value default ↵Joel Turkel2019-07-241-1/+3
| | | | | | | | | | | | options
* | | Merge pull request #34201 from Edouard-chin/ec-follow-redirect-307Rafael França2019-07-253-3/+26
|\ \ \ | | | | | | | | fix `follow_redirect!` not using the same HTTP verb on 307 redirection:
| * | | fix `follow_redirect!` not using the same HTTP verb on 307 redirection:Edouard CHIN2019-07-253-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - According to the HTTP 1.1 spec, the 307 redirection guarantees that the method and the body will not be changed during redirection. This PR fixes that since follow_redirect! would always follow the redirection my making a GET request. Ref https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307
* | | | Merge pull request #36762 from Shopify/descendants-tracker-cleanupRafael França2019-07-251-2/+4
|\ \ \ \ | |/ / / |/| | | Optimize DescendantsArray insertions
| * | | Optimize DescendantsArray insertionsJean Boussier2019-07-251-2/+4
| | | |
* | | | Make sure AR can load without Railseileencodes2019-07-251-0/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | In #36560 I accidentally re-introduced a bug where ActiveRecord can't be used without Rails. This returns an empty hash if we're outside the context of Rails since we can't create the database tasks without loading and reading the database yaml which is something only Railties can do.
* | | Merge pull request #36760 from andre-lgf/masterRafael França2019-07-251-0/+28
|\ \ \ | | | | | | | | [ci skip] collection_radio_buttons options example
| * | | Update action_view_overview.mdAndré Galatti Faria2019-07-251-1/+1
| | | |
| * | | collection_radio_buttons options exampleAndré Galatti Faria2019-07-241-0/+28
| | | | | | | | | | | | Added example of how to access an option attibute passed to builder in case the person wants to add a custom style to a programatically checked value e.g.
* | | | Merge pull request #36740 from ↵Rafael França2019-07-252-3/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | stanhu/sh-fix-index-exists-postgresql-partial-index Fix index_exists? for PostgreSQL expression indexes
| * | | | Fix index_exists? for PostgreSQL expression indexesStan Hu2019-07-242-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously Rails expected indexes to be an array of columns, but for PostgreSQL a expression index can just be a string of text. Handle this by forcing `Index#columns` to be an Array inside `index_exists?`. Closes #36739
* | | | | Merge pull request #36492 from kamipo/remove_depth_first_visitorRyuta Kamizono2019-07-257-518/+7
|\ \ \ \ \ | | | | | | | | | | | | Remove unused `DepthFirst` visitor
| * | | | | Remove unused `DepthFirst` visitorRyuta Kamizono2019-06-157-518/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only use `ToSQL` visitors in the our codebase, do not use `DepthFirst` and `Dot` visitors. The `DepthFirst` visitor (which was introduced at c86c37e5f) is used to traverse an Arel (partial) ast with depth first. Is there any worth to keep that undocumented feature with much code and test cases. This removes that unused `DepthFirst` code and test cases.
* | | | | | Stop setting a default Capybara app hostGeorge Claghorn2019-07-246-38/+43
| |_|/ / / |/| | | | | | | | | It's intended not to be set if Capybara starts the app server itself. Base Rails-generated URLs off of Capybara.current_session.server_url instead.
* | | | | Merge pull request #36756 from seejohnrun/env-urls-with-multiple-databasesEileen M. Uchitelle2019-07-242-12/+42
|\ \ \ \ \ | |_|_|/ / |/| | | | Fix multiple database support for DATABASE_URL env variable
| * | | | Fix multiple database support for DATABASE_URL env variableJohn Crepezzi2019-07-242-12/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes an issue where multi-database configurations were incompatible with setting a `DATABASE_URL` environment variable. As part of this work, this commit also includes a light refactor to make both multi and single database configurations lead into the same code path so they behave the same. As mentioned in #36736, this regression was introduced as part of f2ad69fe7a605b01bb7c37eeac6a9b4e7deb488e
* | | | | Merge pull request #36753 from cmrd-senya/36752-make-rails-logger-fiber-safeRafael França2019-07-243-1/+78
|\ \ \ \ \ | | | | | | | | | | | | Make ActiveSupport::Logger Fiber-safe
| * | | | | Make ActiveSupport::Logger Fiber-safeSenya2019-07-243-1/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use Fiber.current.__id__ in ActiveSupport::Logger#local_level= in order to make log level local to Ruby Fibers in addition to Threads.
* | | | | | Merge pull request #36562 from colszowka/patch-1Rafael França2019-07-241-0/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add warning about using UUIDs with activestorage
| * | | | | | Add warning about using UUIDs with activestorageChristoph Olszowka2019-06-271-0/+2
| | | | | | |
* | | | | | | Merge pull request #36564 from rodrei/docs-active-starage-warningRafael França2019-07-242-0/+6
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Update docs with warning on ActiveStorage Content-Disposition override
| * | | | | | Update docs with warning on AS Content-Disposition override [ci skip]Rodrigo Pavano2019-06-271-0/+4
| | | | | | |
| * | | | | | Updated ActiveStorage docs by adding missing config [ci skip]Rodrigo Pavano2019-06-271-0/+2
| |/ / / / /
* | | | | | Merge pull request #36580 from Shopify/schema-cache-deuplication-from-databaseRafael França2019-07-241-5/+15
|\ \ \ \ \ \ | | | | | | | | | | | | | | Also deduplicate schema cache structure when they are read from the database
| * | | | | | Also deduplicate schema cache structure when they are read from the databaseJean Boussier2019-07-011-5/+15
| | | | | | |
* | | | | | | Merge pull request #36524 from ↵Rafael França2019-07-241-0/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | okuramasafumi/add-middleware-command-to-command-line-guide Add `rails initializers` and `rails middleware` to miscellaneous section in Rails Command Line guide [ci skip]
| * | | | | | | Add some commands to misc section in CLI guideOKURA Masafumi2019-06-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add these two command: * `rails initializers` * `rails middleware`
* | | | | | | | Merge pull request #36715 from peterzhu2118/azure-content-typeEileen M. Uchitelle2019-07-242-2/+16
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Add content_type to upload method for Azure
| * | | | | | | | Add content_type to upload in AzurePeter Zhu2019-07-242-2/+16
| | | | | | | | |
* | | | | | | | | Merge pull request #36671 from ↵Eileen M. Uchitelle2019-07-245-1/+37
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wjessop/do_not_validate_non_dirty_association_targets Don't validate non dirty association targets
| * | | | | | | | | Don't validate non dirty association targetsWill Jessop2019-07-155-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #36581. This fixes an issue where validations would return differently when a previously saved invalid association was loaded between calls: assert_equal true, squeak.valid? assert_equal true, squeak.mouse.present? assert_equal true, squeak.valid? Here the second assert would return Expected: true Actual: false Limiting validations to associations that would be normally saved (using autosave: true) due to changes means that loading invalid associated relations will not change the return value of the parent relations's `valid?` method.
* | | | | | | | | | Merge pull request #34218 from eliotsykes/filter-common-sensitive-paramsRafael França2019-07-241-1/+3
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Add common sensitive names to generated filter parameters
| * | | | | | | | | | Add common sensitive names to generated filter parametersEliot Sykes2018-11-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These added names are distilled from the filter_parameters config of a number of open source Rails applications.
| * | | | | | | | | | Add secret to generated filter parametersEliot Sykes2018-11-201-1/+1
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #36434 from Edouard-chin/ec-securecompare-rotationRafael França2019-07-242-0/+96
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new ActiveSupport::SecureCompareRotator class:
| * | | | | | | | | | | Introduce a new ActiveSupport::SecureCompareRotator class:Edouard CHIN2019-06-062-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - This class is used to rotate a previously determined value to a new one before making the comparions. We use this at Shopify to rotate Basic Auth crendials but I can imagine other use cases. The implementation uses the same `Messages::Rotator` module than the MessageEncryptor/MessageVerifier class so it works exactly the same way. You can use it as follow: ```ruby rotator = ActiveSupport::SecureCompareRotator.new('new_production_value') rotator.rotate('previous_production_value') rotator.secure_compare!('previous_production_value') ```
* | | | | | | | | | | | Merge pull request #36467 from spk/add-doc-host-protocol-asset_pathRafael França2019-07-241-0/+2
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Add documentation on actionview asset_path with host and protocol
| * | | | | | | | | | | | Add documentation on actionview asset_path with host and protocolLaurent Arnoud2019-06-121-0/+2
| | | | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #36749 from sergey-alekseev/patch-1Rafael França2019-07-241-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix a typo in 5_2_release_notes.md
| * | | | | | | | | | | | | fix a typo in 5_2_release_notes.mdSergey Alekseev2019-07-241-1/+1
|/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip]
* | | | | | | | | | | | | Merge pull request #36741 from Edouard-chin/ec-system-test-url-optionsEileen M. Uchitelle2019-07-242-5/+52
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define the `url_options` needed for SytemTest inside the route proxy:
| * | | | | | | | | | | | | Define the `url_options` needed for SytemTest inside the route proxy:Edouard CHIN2019-07-242-5/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - I made a change in https://github.com/rails/rails/pull/36691 to delegate route helper to a proxy class. This didn't take into account that the `url_options` we redefine in SystemTest would be ignored. This PR fixes that by definin the url_options inside the proxy
* | | | | | | | | | | | | | Merge pull request #36744 from freeletics/fix-db-prepareEileen M. Uchitelle2019-07-242-3/+20
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed db:prepare task to not touch schema when it is disabled
| * | | | | | | | | | | | | | Fixed db:prepare task to not touch schema when dump_schema_after_migration ↵Wojciech Wnętrzak2019-07-242-3/+20
| |/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is false.
* | | | | | | | | | | | | | Merge pull request #36746 from ↵Ryuta Kamizono2019-07-241-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | abhaynikam/36738-followup-to-fix-typo-in-deprecation-message Fixed the typo in the deprecation error messages. `Erors` -> `Errors`