aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix minor typo [ci skip]Tom Copeland2018-01-181-4/+4
| | | | Updated the method counts and unified them all on numerals.
* Testing actioncable against websocket-driver 0.7.0 (#30711)Jared Beck2018-01-181-1/+1
| | | | * Depend on websocket-driver >= 0.6.1
* Merge pull request #31663 from Edouard-chin/remove-without-sql-modeRafael França2018-01-181-0/+22
|\ | | | | Added a test around `NO_AUTO_VALUE_ON_ZERO`:
| * Added a test around `NO_AUTO_VALUE_ON_ZERO`:Edouard CHIN2018-01-171-0/+22
| | | | | | | | | | | | | | | | | | - The mysql `NO_AUTO_VALUE_ON_ZERO` mode should be disabled when inserting fixtures in bulk, this PR adds a test to make sure we don't remove it by mistake - If we live this mode enabled, a statement like this wouldn't work and a `Duplicate entry '0' for key 'PRIMARY'` error will be raised. That's because `DEFAULT` on auto_increment will return 0 ```sql INSERT INTO `aircraft` (`id`, `name`, `wheels_count`) VALUES (DEFAULT, 'first', 2), (DEFAULT, 'second', 3) ```
* | Add locale selector to email preview (#31596)Hitoshi Nakashima2018-01-183-18/+97
| | | | | | | | - Add set_locale to detect suitable locale - Make feature compatible with Rails 5.x
* | Support hash as first argument in `assert_difference`. (#31600)Julien Meichelbeck2018-01-183-7/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support hash as first argument for `assert_difference`. This allows to specify multiple numeric differences in the same assertion. Example: assert_difference 'Article.count' => 1, 'Notification.count' => 2 do # post :create, params: { article: {...} } end * Support error message when passing a hash as a first parameter * Format CHANGELOG properly [Julien Meichelbeck + Rafael Mendonça França]
* | Merge pull request #31424 from sobrinho/sobrinho/connection-pool-memcacheRafael Mendonça França2018-01-184-11/+101
|\ \ | | | | | | | | | Support for connection pooling on mem cache store
| * | Support for connection pooling on mem cache storeGabriel Sobrinho2018-01-184-11/+101
| | |
* | | Merge pull request #31577 from prathamesh-sonpatki/upgrade-guide-bootsnapEileen M. Uchitelle2018-01-181-0/+11
|\ \ \ | |/ / |/| | Added a note about bootsnap in the Rails 5.2 upgrade guide [ci skip]
| * | Added a note about bootsnap in the Rails 5.2 upgrade guide [ci skip]Prathamesh Sonpatki2017-12-271-0/+11
| | |
* | | Merge pull request #31730 from ↵Eileen M. Uchitelle2018-01-182-1/+2
|\ \ \ | | | | | | | | | | | | | | | | bogdanvlviv/allow_false_for-config-generators-system_tests Allow `false` for `config.generators.system_tests=`
| * | | Allow `false` for `config.generators.system_tests=`bogdanvlviv2018-01-182-1/+2
| | | | | | | | | | | | | | | | | | | | Mention `config.generators.system_tests` in the "Configuring Rails Applications" guide.
* | | | Add test to properly test down with a blockeileencodes2018-01-181-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | down is only called with a block from the rake tasks where it passes a `SCOPE`. Technically this was tested but since we don't run all the migrations we're not actually testing the down works with a `SCOPE`. To ensure we're testing both we can run `db:migrate` again to migrate users and then run `down` with a scope to test that only the bukkits migration is reverted. Updates test to prevent having to fix regressions like we did in 4d4db4c.
* | | | Use selected_migrations if block_given?oz2018-01-181-1/+1
| | | | | | | | | | | | | | | | This slipped in as part of a2827ec9811b5012e8e366011fd44c8eb53fc714.
* | | | Fix ActionView UJS buildeileencodes2018-01-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The UJS build has been failing with Chrome failed to start. This commit fixes it by adding the option `--no-sandbox`. Travis removed the sanbox option which is why Chrome crashes. Ref https://github.com/travis-ci/travis-ci/issues/8836 Example failure: https://travis-ci.org/rails/rails/jobs/330396750
* | | | Revert "Merge pull request #31434 from olivierlacan/boot-feedback"Matthew Draper2018-01-192-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit edc54fd2068bc21f0d381228e55d97e32f508923, reversing changes made to a5922f132f4d163e2c7f770427087f5268c18def. As discussed, this is not an appropriate place to make assumptions about ARGV, or to write to stdout: config/boot.rb is a library and is required by other applictions, with which we have no right to interfere.
* | | | Merge pull request #31727 from ↵Eileen M. Uchitelle2018-01-1819-308/+417
|\ \ \ \ | |/ / / |/| | | | | | | | | | | eileencodes/refactor-migration-classes-to-allow-for-migrations_paths-on-conn Refactor migration to move migrations paths to connection
| * | | Refactor migration to move migrations paths to connectioneileencodes2018-01-1819-308/+417
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rails has some support for multiple databases but it can be hard to handle migrations with those. The easiest way to implement multiple databases is to contain migrations into their own folder ("db/migrate" for the primary db and "db/seconddb_migrate" for the second db). Without this you would need to write code that allowed you to switch connections in migrations. I can tell you from experience that is not a fun way to implement multiple databases. This refactoring is a pre-requisite for implementing other features related to parallel testing and improved handling for multiple databases. The refactoring here moves the class methods from the `Migrator` class into it's own new class `MigrationContext`. The goal was to move the `migrations_paths` method off of the `Migrator` class and onto the connection. This allows users to do the following in their `database.yml`: ``` development: adapter: mysql2 username: root password: development_seconddb: adapter: mysql2 username: root password: migrations_paths: "db/second_db_migrate" ``` Migrations for the `seconddb` can now be store in the `db/second_db_migrate` directory. Migrations for the primary database are stored in `db/migrate`". The refactoring here drastically reduces the internal API for migrations since we don't need to pass `migrations_paths` around to every single method. Additionally this change does not require any Rails applications to make changes unless they want to use the new public API. All of the class methods from the `Migrator` class were `nodoc`'d except for the `migrations_paths` and `migrations_path` getter/setters respectively.
* | | | Merge pull request #31713 from aellispierce/refactor-browser-optionsEileen M. Uchitelle2018-01-174-29/+57
|\ \ \ \ | |/ / / |/| | | Move browser config to its own class
| * | | Move browser checking to its own classAshley Ellis Pierce2018-01-154-29/+57
| | | |
* | | | Merge pull request #31717 from rails/redis-cache-store-encodingGeorge Claghorn2018-01-173-1/+27
|\ \ \ \ | | | | | | | | | | Convert keys to binary in the Redis cache store
| * | | | Convert keys to binary in the Redis cache storeGeorge Claghorn2018-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | Fix encoding errors when using the pure-Ruby Redis driver instead of Hiredis. Dodge incompatibilities between UTF-8 and arbitrary value encodings, which rear their heads when the Redis driver tries to build a single command string from incompatibly-encoded keys and values.
| * | | | Test against the pure-Ruby Redis driverGeorge Claghorn2018-01-172-0/+26
| | | | |
* | | | | Merge pull request #31726 from bogdanvlviv/update-layouts_and_rendering-guideEileen M. Uchitelle2018-01-171-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Update "Layouts and Rendering in Rails" guide [ci skip]
| * | | | | Update "Layouts and Rendering in Rails" guide [ci skip]bogdanvlviv2018-01-171-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove mention about `ActionView::TemplateHandlers` since this module was removed by c1304098cca8a9247a9ad1461a1a343354650843. Change word `subclasses` to `nested classes`. See c7408a0e40545558872efb4129fe4bf097c9ce2f - Remove useless sentence "Beginning with Rails 2, the standard extensions are `.erb` for ERB (HTML with embedded Ruby), and `.builder` for Builder (XML generator)."
* / / / / Provide a sensible default hostGeorge Claghorn2018-01-168-13/+15
|/ / / /
* | | | Fix constant referenceGeorge Claghorn2018-01-162-3/+2
| | | | | | | | | | | | | | | | Update the long key handling test so it triggers truncation in the Redis cache store.
* | | | Extract content types from blob dataGeorge Claghorn2018-01-1520-32/+151
| | | |
* | | | Merge pull request #27860 from meinac/fix_left_joins_behaviour_with_mergeRyuta Kamizono2018-01-164-1/+37
|\ \ \ \ | | | | | | | | | | Fix relation merger issue with `left_outer_joins`.
| * | | | Fix relation merger issue with `left_outer_joins`Mehmet Emin INAC2018-01-154-1/+37
|/ / / /
* | | | Don't allow destroyed object mutation after `save` or `save!` is calledRyuta Kamizono2018-01-153-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently `object.save` will unfreeze the object, due to `changes_applied` replaces frozen `@attributes` to new `@attributes`. Since originally destroyed objects are not allowed to be mutated, `save` and `save!` should not return success in that case. Fixes #28563.
* | | | `create_database` should not add default charset when `collation` is givenRyuta Kamizono2018-01-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If `collation` is given without `charset`, it may generate invalid SQL. For example `create_database(:matt_aimonetti, collation: "utf8mb4_bin")`: ``` > CREATE DATABASE `matt_aimonetti` DEFAULT CHARACTER SET `utf8` COLLATE `utf8mb4_bin`; ERROR 1253 (42000): COLLATION 'utf8mb4_bin' is not valid for CHARACTER SET 'utf8' ``` In MySQL, charset is used to find the default collation. If `collation` is given explicitly, it is not necessary to give extra charset.
* | | | Merge pull request #28313 from sandrew/masterRyuta Kamizono2018-01-152-2/+15
|\ \ \ \ | | | | | | | | | | | | | | | Allow unscoping of left_outer_joins
| * | | | Allow unscoping of left_outer_joinsAndrei Shaidurov2017-03-061-1/+1
| | | | |
* | | | | Merge pull request #31706 from mrhead/fix-test-case-nameRyuta Kamizono2018-01-141-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Change test case name to FormatValidationTest
| * | | | | Change test case name to FormatValidationTestPatrik Bóna2018-01-141-1/+1
|/ / / / / | | | | | | | | | | | | | | | I believe that this was caused by a copy/paste mistake.
* | | | | Don't need to pass `manager` to `convert_join_strings_to_ast`Ryuta Kamizono2018-01-141-2/+2
| | | | | | | | | | | | | | | | | | | | Because `Relation` already have Arel `table`.
* | | | | Don't pass garbage args to alias trackerRyuta Kamizono2018-01-142-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a complete fix to #30995. Originally alias tracker will only track table aliases on `Arel::Nodes::Join`, other args are ignored. Since c5ab6e5, parent aliases hash will be passed then it caused the regression #30995. It is enough to pass list of `Arel::Nodes::Join` simply, not need to pass garbage args which will be ignored.
* | | | | Merge pull request #31572 from kami-zh/fix-templateYuji Yaginuma2018-01-131-2/+3
|\ \ \ \ \ | | | | | | | | | | | | Fix comment about initializers to adapt to the fact
| * | | | | Fix comment about initializers to adapt to the factkami-zh2017-12-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the comment says application configuration should go into files in `config/initializers`. However some configuration couldn't initialize correctly because of the initializing process(e.g. `config.time_zone`). It should be changed by framework but this is large change and it may occur malfunction to some applications which depends on current initializing process. So this comment is changed to adapt to the fact.
* | | | | | `deep_dup` is used in `AttributeSet#deep_dup`Ryuta Kamizono2018-01-132-1/+1
| | | | | |
* | | | | | Merge pull request #31651 from eugeneius/use_sha1_digestsSean Griffin2018-01-128-17/+32
|\ \ \ \ \ \ | | | | | | | | | | | | | | Use SHA-1 for non-sensitive digests by default
| * | | | | | Use SHA-1 for non-sensitive digests by defaultEugene Kenny2018-01-088-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of providing a configuration option to set the hash function, switch to SHA-1 for new apps and allow upgrading apps to opt in later via `new_framework_defaults_5_2.rb`.
* | | | | | | Merge pull request #31695 from tcopeland/fix_typoRafael França2018-01-121-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix doc typo [ci-skip]
| * | | | | | | Fix doc typo [ci-skip]Tom Copeland2018-01-121-1/+1
|/ / / / / / /
* | | | | | | Merge pull request #31675 from Dorian/fix-some-broken-links-in-guidesEileen M. Uchitelle2018-01-124-9/+9
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix some broken links in guides
| * | | | | | | Fix some broken links in guidesDorian Marié2018-01-114-9/+9
| | | | | | | |
* | | | | | | | Use unsafe_inline as the default for script_src CSP until we get a nonce ↵David Heinemeier Hansson2018-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alternative Closes #31273 but we will still want to upgrade this to the nonce-approach when it’s ready.
* | | | | | | | Add note about having to restart when modifying initializerDavid Heinemeier Hansson2018-01-121-0/+2
| | | | | | | |
* | | | | | | | Use complete variable names rather than single-letter abbreviations for styleDavid Heinemeier Hansson2018-01-121-8/+8
| | | | | | | |