aboutsummaryrefslogtreecommitdiffstats
path: root/railties
Commit message (Collapse)AuthorAgeFilesLines
* Partly revert #32289 to provide Rails' custom fallback in caseutilum2018-05-011-2/+49
| | | | | | | | | | | `DidYouMean::SpellChecker` is not defined. `did_you_mean` is bundled in Ruby but can be uninstalled, and is not always available, sometimes even on our CI: https://travis-ci.org/rails/rails/jobs/372638523#L2405 https://travis-ci.org/rails/rails/jobs/372638523#L2416 https://travis-ci.org/rails/rails/jobs/372638523#L2427 ...
* Swap assertion order for better reportingutilum2018-04-291-1/+1
| | | | `assert_directory("test/system")` may pass even if `assert_file("test/system/.keep")` fails.
* Add a helper method to check that gem does not exist in `Gemfile`yuuji.yaginuma2018-04-251-49/+26
|
* Fix test method nameyuuji.yaginuma2018-04-251-2/+2
| | | | We don't use `mini_magick` directly since #32471.
* Merge pull request #32471 from janko-m/use-image_processing-gemGeorge Claghorn2018-04-232-3/+3
|\ | | | | Use ImageProcessing gem for ActiveStorage variants
| * Use ImageProcessing gem for ActiveStorage variantsJanko Marohnić2018-04-182-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ImageProcessing gem is a wrapper around MiniMagick and ruby-vips, and implements an interface for common image resizing and processing. This is the canonical image processing gem recommended in [Shrine], and that's where it developed from. The initial implementation was extracted from Refile, which also implements on-the-fly transformations. Some features that ImageProcessing gem adds on top of MiniMagick: * resizing macros - #resize_to_limit - #resize_to_fit - #resize_to_fill - #resize_and_pad * automatic orientation * automatic thumbnail sharpening * avoids the complex and inefficient MiniMagick::Image class * will use "magick" instead of "convert" on ImageMagick 7 However, the biggest feature of the ImageProcessing gem is that it has an alternative implementation that uses libvips. Libvips is an alternative to ImageMagick that can process images very rapidly (we've seen up 10x faster than ImageMagick). What's great is that the ImageProcessing gem provides the same interface for both implementations. The macros are named the same, and the libvips implementation does auto orientation and thumbnail sharpening as well; only the operations/options specific to ImageMagick/libvips differ. The integration provided by this PR should work for both implementations. The plan is to introduce the ImageProcessing backend in Rails 6.0 as the default backend and deprecate the MiniMagick backend, then in Rails 6.1 remove the MiniMagick backend.
* | Merge pull request #32686 from yhirano55/fix-indentation-with-rubocopRyuta Kamizono2018-04-221-1/+1
|\ \ | | | | | | Fix indentation manually
| * | Fix indentation manuallyYoshiyuki Hirano2018-04-221-1/+1
| | | | | | | | | | | | Rubocop auto-correct doesn't work well, so I fixed indentation manually.
* | | Merge pull request #31554 from fatkodima/controller_generator_suffixGuillermo Iguaran2018-04-222-1/+33
|\ \ \ | | | | | | | | Gracefully handle extra "controller" when generating controller
| * | | Gracefully handle extra "controller" when generating controllerfatkodima2018-03-232-1/+33
| | | |
* | | | Strip duplicated suffixes more strictlyRyuta Kamizono2018-04-223-3/+3
| | | | | | | | | | | | | | | | In the previous code incorrectly removes intermediate words.
* | | | Merge pull request #32685 from yhirano55/fix-duplicated-suffix-for-job-generatorRyuta Kamizono2018-04-222-0/+15
|\ \ \ \ | | | | | | | | | | Fix duplicated suffix for JobGenerator
| * | | | Fix duplicated suffix for JobGeneratorYoshiyuki Hirano2018-04-222-0/+15
| | |/ / | |/| |
* / | | Add test case to ChannelGeneratorTestYoshiyuki Hirano2018-04-221-0/+10
|/ / / | | | | | | | | | * Add a test case to ensure avoid duplicated suffix in channel generator
* | | Don't include bootsnap by default in apps generated under JRubyGuillermo Iguaran2018-04-202-4/+13
| | |
* | | [ci skip] Prefix class name with Rails:: in docsAlberto Almagro2018-04-201-3/+3
| | | | | | | | | | | | | | | After renaming and deprecation of SourceAnnotationExtractor documentation has been updated to reflect the new name Rails::SourceAnnotationExtractor
* | | [ci skip] Improve #find_in documentation.Alberto Almagro2018-04-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The previous documentation version listed only the default registered extensions. This was misleading because if more extensions get registered with <tt>SourceAnnotationExtractor::Annotation.register_extensions</tt>, they would be also taken into account. By saying that we consider all registered extensions we document what happens in reality.
* | | Fix typo on method nameAlberto Almagro2018-04-201-1/+1
| | |
* | | Create a .ruby-version compatible with MRI/JRuby by defaultGuillermo Iguaran2018-04-192-2/+2
| | |
* | | [ci skip] Restore of links in RDOC_MAIN after an update of the file (#32644)Felipe Tovar2018-04-191-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | * [ci skip] Update links in RDOC_MAIN and remove style of word rails in README * [ci skip] Update links in RDOC_MAIN and remove style of word rails in README [Felipe Tovar & Rafael Mendonça França]
* | | Merge pull request #32605 from composerinteralia/assert-notRafael França2018-04-1913-37/+37
|\ \ \ | | | | | | | | Add RuboCop for `assert_not` over `assert !`
| * | | Replace `assert !` with `assert_not`Daniel Colson2018-04-1913-37/+37
| | | | | | | | | | | | | | | | | | | | This autocorrects the violations after adding a custom cop in 3305c78dcd.
* | | | Merge pull request #32626 from ftovaro/masterXavier Noria2018-04-191-22/+29
|\ \ \ \ | | | | | | | | | | [ci skip] Update README and RDOC_MAIN
| * | | | [ci skip] Remove style of the word Rails at the topFelipe Tovar2018-04-191-1/+1
| | | | |
| * | | | [ci skip] update RDOC_MAINFelipe Tovar2018-04-191-23/+30
| |/ / /
* / / / Make the master.key readable only by the ownerJose Luis Duran2018-04-193-0/+27
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change may only apply to POSIX-compliant systems. Previously: $ ls -l config/master.key -rw-r--r-- 1 owner group 32 Jan 1 00:00 master.key Now: $ ls -l config/master.key -rw------- 1 owner group 32 Jan 1 00:00 master.key
* | | Fix test to allow IF NOT EXISTS in structure:dumputilum2018-04-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ``` $ ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] $ ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/application/rake/multi_dbs_test.rb Run options: --seed 28744 F Failure: ApplicationTests::RakeTests::RakeMultiDbsTest#test_db:migrate_and_db:structure:dump_and_db:structure:load_works_on_all_databases [test/application/rake/multi_dbs_test.rb:70]: Expected /CREATE TABLE \"books\"/ to match "CREATE TABLE IF NOT EXISTS \"schema_migrations\" (\"version\" varchar NOT NULL PRIMARY KEY);\nCREATE TABLE IF NOT EXISTS \"ar_internal_metadata\" (\"key\" varchar NOT NULL PRIMARY KEY, \"value\" varchar, \"created_at\" datetime NOT NULL, \"updated_at\" datetime NOT NULL);\nCREATE TABLE IF NOT EXISTS \"books\" (\"id\" integer PRIMARY KEY AUTOINCREMENT NOT NULL, \"title\" varchar, \"created_at\" datetime NOT NULL, \"updated_at\" datetime NOT NULL);\nCREATE TABLE sqlite_sequence(name,seq);\nINSERT INTO \"schema_migrations\" (version) VALUES\n('20180416201805');\n\n\n". ```
* | | Deprecate support for using `HOST` environment to specify server IP (#32540)Yuji Yaginuma2018-04-163-3/+35
| |/ |/| | | | | | | | | | | | | | | | | | | | | At SuSE, `$HOST` is set by default and is equal to `$HOSTNAME`. https://www.suse.com/documentation/sled11/book_sle_admin/data/sec_adm_variables.html Therefore, by default, it binds to hostname instead of `localhost`. This seems not to be appropriate as default behavior. In order to avoid the name of the environment variable being used, I changed the environment variable from `HOST` to `BINDING`. Fixes #29516.
* | Add .keep exception for storage folderPaul2018-04-131-1/+4
| | | | | | Fixes https://github.com/rails/rails/issues/32546 by including the `.keep` file in the .gitignore, bringing the `storage` folder in line with the `tmp` and `log` folders.
* | Allow use of minitest-rails gem with Rails test runneryuuji.yaginuma2018-04-111-1/+1
| | | | | | | | | | | | | | Add explicit global namespace to `Rails::TestUnit::Runner` to resolve a namespace conflict between `minitest-rails` and Rails test runner. Fixes #31324
* | Remove upper bound on Capybaraeileencodes2018-04-101-1/+1
| | | | | | | | | | | | | | There's no reason to block future versions of Capybara since we don't _know_ they are going to break. How will we know if we have a conservative option set? This change prevents us from blocking users who want to upgrade in the future.
* | Add multidb application testeileencodes2018-04-092-16/+215
| | | | | | | | | | | | | | | | | | I realized I wasn't really testing some of the new rake tasks added so I built out this new test that uses a multi-db database.yml and allows us to run create/drop/migrate/schema:dump/schema:load and those that are namespaced like create:animals. This will make our testing more robust so we can catch problems quicker and set a good place to add future tests as these features evolve.
* | rewords a bit RDOC_MAIN.rdoc [ci skip]Yoshiyuki Hirano2018-04-081-2/+2
| | | | | | | | * Same change as bba832d
* | Fix test added in #32444bogdanvlviv2018-04-061-2/+4
| | | | | | | | | | | | | | Currently test `#test_logger_does_not_mutate_app_return` doesn't test mutation of response and the test passes with and without changes added in #32444. `#freeze` response in the test in order to test mutation.
* | Merge pull request #32441 from composerinteralia/refute-notRafael França2018-04-041-1/+1
|\ \ | | | | | | Add custom RuboCop for `assert_not` over `refute`
| * | Autocorrect `refute` RuboCop violationsDaniel Colson2018-04-031-1/+1
| | | | | | | | | | | | | | | | | | 73e7aab behaved as expected on codeship, failing the build with exactly these RuboCop violations. Hopefully `rubocop -a` will have been enough to get a passing build!
* | | Merge pull request #32444 from matrinox/fix-return-response-mutation-rack-loggerRafael Mendonça França2018-04-042-5/+21
|\ \ \ | | | | | | | | | | | | Stop mutating body response
| * | | Stop mutating body responseGeoff Lee2018-04-032-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | If @app.call returns an object that is saved (for e.g., in a constant), the mutation results in a continuing cycle of wrapping the body in Rack::BodyProxy, eventually leading to SystemStackError ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ On branch fix-return-response-mutation-rack-logger - Tue 3 Apr 2018 19:54:28 PDT by Geoff Lee <geoff.lee@lendesk.com>
* | | | Merge pull request #32435 from ↵Eileen M. Uchitelle2018-04-043-7/+7
|\ \ \ \ | |/ / / |/| | | | | | | | | | | bogdanvlviv/add-missing-dots-at-the-end-of-comments Add missing dots at the end of comments in environment file templates
| * | | Add missing dots at the end of comments in environment file templatesbogdanvlviv2018-04-033-7/+7
| | | | | | | | | | | | | | | | Add dots in order to keep consistency between other comments in these files.
* | | | Fix RenderingTest in railtieYoshiyuki Hirano2018-04-041-1/+1
|/ / / | | | | | | | | | Test class name is not `RoutingTest` but `RenderingTest`
* | | Add `action_view.finalize_compiled_template_methods` config optionSimon Coffey2018-04-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ActionView::Template instances compile their source to methods on the ActionView::CompiledTemplates module. To prevent leaks in development mode, where templates can frequently change, a finalizer is added that undefines these methods[1] when the templates are garbage-collected. This is undesirable in the test environment, however, as templates don't change during the life of the test. Moreover, the cost of undefining a method is proportional to the number of descendants a class or module has, since the method cache must be cleared for all descendant classes. As ActionView::CompiledTemplates is mixed into every ActionView::TestCase (or in RSpec suites, every view spec example group), it can end up with a very large number of descendants, and undefining its methods can become very expensive. In large test suites, this results in a long delay at the end of the test suite as all template finalizers are run, only for the process to then exit. To avoid this unnecessary cost, this change adds a config option, `action_view.finalize_compiled_template_methods`, defaulting to true, and sets it to false in the test environment only. [1] https://github.com/rails/rails/blob/09b2348f7fc8d4e7191e70e06608c5909067e2aa/actionview/lib/action_view/template.rb#L118-L126
* | | Merge pull request #32065 from ↵Kasper Timm Hansen2018-04-025-123/+132
|\ \ \ | |/ / |/| | | | | | | | sikachu/move-SourceAnnotationExtractor-under-rails-namespec Move SourceAnnotationExtractor under Rails module
| * | Add deprecation note for SourceAnnotationExtractorPrem Sichanugrist2018-03-221-0/+7
| | |
| * | Make Annotation into a proper classPrem Sichanugrist2018-03-221-1/+1
| | | | | | | | | | | | | | | This cleans up the documentation for SourceAnnotationExtractor because RDoc does not seems to know how to parse `Struct.new() do` block.
| * | Move SourceAnnotationExtractor under Rails modulePrem Sichanugrist2018-03-225-123/+125
| |/ | | | | | | This class should be under Rails module as it belongs to Rails.
* | Deriving `secret_key_base` breaks `key_generator` defined in 5.1.Yoshiyuki Kinjo2018-03-312-1/+2
| | | | | | | | | | | | | | | | | | | | | | If one created Rails 5.1 app and then updated to 5.2, `secret_key_base` defined in `config/secrets.yml` is ignored for `development` and `test` environment. A change in `secret_key_base` in turn breaks `Rails.application.key_generator`. If one encrypt data in Rails 5.1, she cannot decrypt it in Rails 5.2 for `development` and `test` environment.
* | Remove unnecessary line break and quotesyuuji.yaginuma2018-03-301-2/+2
| |
* | Fix "--frozen-lockfile" argument used in yarn install rake taskGuillermo Iguaran2018-03-291-1/+1
| | | | | | --frozen-lockfile is the right name of the argument
* | Merge pull request #32289 from gsamokovarov/did-you-mean-suggestionsGuillermo Iguaran2018-03-296-57/+14
|\ \ | | | | | | Use `did_you_mean` spell checker for option suggestions