aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/generators
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant begin blockRyuta Kamizono2019-04-041-10/+9
| | | | | We have `Style/RedundantBegin` cop (#34764) but it could not correct in this case.
* Use `execute_batch2` rather than `execute_batch` to fix performance ↵Ryuta Kamizono2019-04-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | regression for fixture loading d8d6bd5 makes fixture loading to bulk statements by using `execute_batch` for sqlite3 adapter. But `execute_batch` is slower and it caused the performance regression for fixture loading. In sqlite3 1.4.0, it have new batch method `execute_batch2`. I've confirmed `execute_batch2` is extremely faster than `execute_batch`. So I think it is worth to upgrade sqlite3 to 1.4.0 to use that method. Before: ``` % ARCONN=sqlite3 bundle exec ruby -w -Itest test/cases/associations/eager_test.rb -n test_eager_loading_too_may_ids Using sqlite3 Run options: -n test_eager_loading_too_may_ids --seed 35790 # Running: . Finished in 202.437406s, 0.0049 runs/s, 0.0049 assertions/s. 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips ARCONN=sqlite3 bundle exec ruby -w -Itest -n test_eager_loading_too_may_ids 142.57s user 60.83s system 98% cpu 3:27.08 total ``` After: ``` % ARCONN=sqlite3 bundle exec ruby -w -Itest test/cases/associations/eager_test.rb -n test_eager_loading_too_may_ids Using sqlite3 Run options: -n test_eager_loading_too_may_ids --seed 16649 # Running: . Finished in 8.471032s, 0.1180 runs/s, 0.1180 assertions/s. 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips ARCONN=sqlite3 bundle exec ruby -w -Itest -n test_eager_loading_too_may_ids 10.71s user 1.36s system 95% cpu 12.672 total ```
* Add test that the listen gem is included when RUBY_ENGINE is not 'ruby'Benoit Daloze2019-04-031-0/+16
| | | | | * The fix is already in master since https://github.com/rails/rails/pull/34243 * See https://github.com/rails/rails/pull/35482 for the fix in Rails 5.2
* Merge pull request #35805 from excid3/attachments-field-generatorsRafael França2019-04-025-5/+73
|\ | | | | Add attachment and attachments field generators
| * Add attachment and attachments field generatorsChris Oliver2019-03-305-5/+73
| |
* | Include final newline in generated .ruby-versionOrhan Toy2019-04-011-0/+2
|/
* Add rich_text field to model generatorsChris Oliver2019-03-283-1/+54
|
* Use webdrivers instead of chromedriver-helper in new appsGuillermo Iguaran2019-03-241-2/+2
|
* Make aliases of `database` option in generators workyuuji.yaginuma2019-03-203-0/+30
| | | | | | | | | | | Thor automatically adds `-` if aliases do not start with `-`. https://github.com/erikhuda/thor/blob/0879c1773d188902d54f95174f33961ac33111f8/lib/thor/parser/options.rb#L53 But Thor follows a convention of one-dash-one-letter options. So, even if `-` is added to `db`, it does not work. https://github.com/erikhuda/thor/blob/0879c1773d188902d54f95174f33961ac33111f8/lib/thor/parser/options.rb#L4 Follow up #34021.
* Add version awareness to rails db:system:changeGannon McGibbon2019-03-081-3/+18
|
* Let Zeitwerk be a dependency of Active SupportXavier Noria2019-02-131-9/+0
| | | | | Zeitwerk is a strong dependency, planned to replace AS::Dependencies. A line in the generated Gemfile does not convey this as much.
* Zeitwerk integrationXavier Noria2019-02-121-0/+9
|
* Set sqlite3 gem version explicitly in generated GemfileSergey Ponomarev2019-02-051-1/+1
|
* Railities typo fixes.alkesh262019-02-014-4/+4
|
* Fix `ERB.new` argument deprecated warningyuuji.yaginuma2019-01-311-1/+5
| | | | | | | | This fixes following warning. ``` warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments. ```
* Don't add `RAILS_ENV` in generate actionyuuji.yaginuma2019-01-191-0/+6
| | | | | | | In the case of generator, `RAILS_ENV` is interpreted as an argument as it is. Avoid this because it will result unintended by the user. Fixes #34979.
* Remove deprecated `after_bundle` helper inside plugins templatesRafael Mendonça França2019-01-171-32/+0
|
* Remove deprecated `capify!`Rafael Mendonça França2019-01-171-9/+0
|
* Minimize boilerplate setup code for JavaScript librariesJavan Makhmali2019-01-161-2/+2
|
* Merge branch 'master' into db_system_change_commandKasper Timm Hansen2019-01-163-2/+19
|\
| * Add connection_test to app generatorVladimir Dementyev2019-01-131-0/+3
| |
| * Add channel test generatorVladimir Dementyev2019-01-131-0/+14
| |
| * Move all npm packages to @rails scopeJavan Makhmali2019-01-101-2/+2
| | | | | | | | Fixes #33083
* | Revise wording on invalid database error messagesGannon McGibbon2019-01-091-1/+1
| |
* | Add rails db:system:change commandGannon McGibbon2019-01-092-0/+114
|/ | | | | | | | | | | | | | Add `rails db:system:change` command for changing databases. ``` bin/rails db:system:change --to=postgresql force config/database.yml gsub Gemfile ``` The change command copies a template `config/database.yml` with the target database adapter into your app, and replaces your database gem with the target database gem.
* Preserve Bundle configuration during app generation (#34755)Marco Costa2019-01-091-0/+18
| | | | | | | | | | | | | | | | | | | | | | | When generating a new rails application (rails new) using a custom template that includes gems from an authenticated source, the user has to provide credentials to bundler. One way to do this is by exporting environment variables, for example: export BUNDLE_GITHUB__COM=user:pass: provides credentials for bundler to fetch gems from github.com. The problem this PR addresses is that we are currently scrubs all /BUNDLE_.*/ environment variables by wrapping our system calls in Bundler.with_clean_env. We do this because we don't want our commands executed against the generated project to use the generator's bundler environment (e.g. our gems): the generated project should use it's own configuration. The problem with Bundler.with_clean_env is that, on top of restoring environment variables to their original state, it also scrubs any /BUNDLE_.*/ variables, which is harmful for authenticated gem sources. This PR replaces Bundler.with_clean_env with Bundler.with_original_env, which only restores environment variables to their initial state, without additional scrubbing.
* Revert "Revert "Merge pull request #34387 from ↵Kasper Timm Hansen2019-01-081-0/+11
| | | | | | | | yhirano55/rails_info_properties_json"" I reverted the wrong commit. Damn it. This reverts commit f66a977fc7ae30d2a07124ad91924c4ee638a703.
* Revert "Merge pull request #34387 from yhirano55/rails_info_properties_json"Kasper Timm Hansen2019-01-081-11/+0
| | | | | | | | | | | We had a discussion on the Core team and we don't want to expose this information as a JSON endpoint and not by default. It doesn't make sense to expose this JSON locally and this controller is only accessible in dev, so the proposed access from a production app seems off. This reverts commit 8eaffe7e89719ac62ff29c2e4208cfbeb1cd1c38, reversing changes made to b6e4305c3bca4c673996d0af9db0f4cfbf50215e.
* Revert "Remove node_modules path from assets load paths since we use webpack ↵bogdanvlviv2019-01-061-0/+5
| | | | | | | | by default" This reverts commit 129f8ac6ffcafb2e6e13c9ef13dda4cc47f5af0d. See https://github.com/rails/rails/commit/02d2958b6cd84d687d89112eb7e2306a6a89c082#commitcomment-31849196
* Add `--skip-action-text` option to `rails new`bogdanvlviv2019-01-052-0/+17
| | | | | Since PR#34816 was merged in c6ef670aee186a2880b7be59c4c6892b5c983e58, we should add this option for flexibility, and consistency.
* Merge pull request #34816 from ↵Rafael Mendonça França2019-01-032-0/+9
|\ | | | | | | | | | | bogdanvlviv/add-skip-action-mailbox-option-to-rails-new-cmd Add `--skip-action-mailbox` option to `rails new`
| * Add `--skip-action-mailbox` option to `rails new`bogdanvlviv2018-12-282-0/+14
| | | | | | | | Related to https://github.com/rails/rails/commit/ddaf06779aa51d5d1ca462c21c53f2ed169a0d2f
* | Don't load Action Mailbox when Active Storage is skippedGeorge Claghorn2018-12-291-0/+5
| |
* | Ensure that the app generator skips action mailbox when ↵bogdanvlviv2018-12-281-0/+5
|/ | | | | | | `--skip-active-record` is given Related to https://github.com/rails/rails/pull/34816#issuecomment-450378366 Follow up https://github.com/rails/rails/commit/ddaf06779aa51d5d1ca462c21c53f2ed169a0d2f
* Enable `Style/RedundantBegin` cop to avoid newly adding redundant begin blockRyuta Kamizono2018-12-211-6/+4
| | | | | | | | | | Currently we sometimes find a redundant begin block in code review (e.g. https://github.com/rails/rails/pull/33604#discussion_r209784205). I'd like to enable `Style/RedundantBegin` cop to avoid that, since rescue/else/ensure are allowed inside do/end blocks in Ruby 2.5 (https://bugs.ruby-lang.org/issues/12906), so we'd probably meets with that situation than before.
* Module#{attr,attr_accessor,attr_reader,attr_writer} become public since Ruby 2.5Ryuta Kamizono2018-12-212-4/+4
| | | | https://bugs.ruby-lang.org/issues/14132
* Do not show post install message on rails newRafael Mendonça França2018-12-131-1/+1
|
* Merge pull request #34691 from gmcgibbon/rm_helper_generator_suffixRyuta Kamizono2018-12-131-0/+7
|\ | | | | | | Remove redundant suffixes on generated helpers.
| * Remove redundant suffixes on generated helpers.Gannon McGibbon2018-12-121-0/+7
| |
* | Remove redundant suffixes on generated integration tests.Gannon McGibbon2018-12-121-0/+7
|/
* Fix boolean interaction in scaffold system testsGannon McGibbon2018-12-121-3/+5
|
* Remove redundant suffixes on generated system tests.Gannon McGibbon2018-12-111-0/+14
|
* Abort early if generator command fails (#34420)David Rodríguez2018-12-071-2/+14
| | | | | | | | | | | | | | | | * No need to go through ruby * Abort early if a generator command fails * Reuse `rails_command` method * Bump thor minimum dependency to 0.20.3 * Add some minimal docs * Add a changelog entry * Restore original logging
* Fix test name to match the test behavioryuuji.yaginuma2018-11-181-4/+4
| | | | These tests are for testing the `rake` method.
* Add `connect_src` example to content security policy initializeryuuji.yaginuma2018-11-041-0/+11
| | | | | | | | | | If want to use `webpack-dev-server` with CSP enabled, need to specify `connect-src`. Related to: https://github.com/rails/webpacker/commit/cd7ecf4d48496341aecd81c0c2f69fe4e50a7cd4 This is a matter of `webpacker`. But since `webpacker` is now used by default, to prevent user confusion, I think that better to include an example of `connect-src.`
* Remove node_modules path from assets load paths since we use webpack by defaultbogdanvlviv2018-10-221-5/+1
| | | | Related to #33079
* Remove `--skip-yarn` in favor of `--skip-javascript`bogdanvlviv2018-10-222-3/+4
| | | | | | Since #33079 Webpacker the default JavaScript compiler for Rails. Webpacker uses `yarn` so seems like it doesn't make sense for Rails to keep `--skip-yarn` option.
* Remove yarn's files from `.gitignore` template for new rails appbogdanvlviv2018-10-211-10/+0
| | | | | | | | Webpacker already does it, see https://github.com/rails/webpacker/blob/895d2cfc15eda2edae9e667c642a02523d958f53/lib/install/template.rb#L25-L33 I also opened PR https://github.com/rails/webpacker/pull/1765 in order to make it add `/yarn-error.log` file too.
* Correct some tests related to changes in #33079 (#34272)Bogdan2018-10-222-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix assertions of auto-generated ActiveStorage JS Since #33079 * Correct message on the `assert_equal` failure Related to #33079 * Test ActionCable's js files This commit adds `app/javascript/channels/consumer.js`, and `app/javascript/channels/index.js` to `DEFAULT_APP_FILES` in order to assert their existance in `test_skeleton_is_created`. Related to #33079 * Assert no match `javascript_pack_tag` in `application.html.erb` Since #33079 `rails new` generates `application.html.erb` file with `javascript_pack_tag` instead of `javascript_include_tag`. Note that there some tests that asserting no matching `javascript_include_tag` in the `application.html.erb` file for newly generated rails plugins. It is related to #34009 and shouldn't be changed right now.
* Avoid running `webpacker:install` on tests that don't need ityuuji.yaginuma2018-10-202-6/+10
| | | | | | | | | | | If use `run_generator` to run the generator, `--skip-webpack-install` is specified automatically. https://github.com/rails/rails/blob/3101a4136bd62787e252d2658eee23001036fa0f/railties/lib/rails/generators/testing/behaviour.rb#L71 However, when executing the generator independently (for example, to use stub), `webpacker:install` was executed. Since this includes `yarn install`, it should be avoided in unnecessary testing.