aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #26703 from eileencodes/rails_system_testsEileen M. Uchitelle2017-02-2011-0/+80
|\ | | | | WIP: Capybara Integration with Rails (AKA System Tests)
| * Rename system_test_helper -> application_system_test_caseeileencodes2017-02-206-4/+4
| | | | | | | | | | | | This renames the system test helper file to be application system test case to match what the rest of Rails does. In the future we should consider changing the test_helper to match.
| * Fix default host in setup, move teardown to helper fileeileencodes2017-02-203-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Override integration test default host Integration tests automatically set the default host to 'http://example.com'. This works fine for integration tests because they are not real browser sessions, but doesn't work fine for system tests because they are real browser sessions. We can override this by setting the `host!` in `before_setup. The `Capybara.always_include_port` will allow the test to look at `127.0.0.1:port capybara picks` and properly redirect the test. Any application can override this by setting the `host!` in their system test helper. Generally though, applications are going to be using localhost. In this commit I also moved the setup and teardown into their own module for tidiness. * Move teardown settings into system test case These configuration options can be put into the system test case file instead of the generated system tests helper file. This is an implementation detail and therefore shouldn't be generated with the template.
| * Add default configuration to generated system test helpereileencodes2017-02-203-0/+6
| | | | | | | | | | This serves as self documentation so users know how to change the driver.
| * Move and rename system testseileencodes2017-02-204-6/+8
| | | | | | | | | | | | | | | | | | | | * Move system tests back into Action Pack * Rename `ActionSystemTest` to `ActionDispatch::SystemTestCase` * Remove private base module and only make file for public `SystemTestCase` class, name private module `SystemTesting` * Rename `ActionSystemTestCase` to `ApplicationSystemTestCase` * Update corresponding documentation and guides * Delete old `ActionSystemTest` files
| * Refactor config settings to use generated fileeileencodes2017-02-208-4/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally I had set up system testing to have one configuration option to be set in the test environment. After thinking it over I think a generated class on app creation would be best. The reason for this is Capybara has a ton of configuration options that I'm sure some folks want to use. Thinking about how we handle screenshots, database transactions, and a whole bunch of other settings it would be better for users to be able to turn all of that on and off. When an app or scaffold is generated a `test/system_test_helper.rb` test helper will be generated as well. This will contain the class for tests to inherit from `ActionSystemTestCase` which will inherit from `ActionSystemTest::Base`. Here is where users can change the test driver, remove the screenshot helper, and add their additional Capybara configuration.
| * Turn system testing into it's own gem and renameeileencodes2017-02-203-3/+1
| | | | | | | | | | | | | | | | | | | | Renames `Rails::SystemTestCase` to `ActionSystemTest` and moves it to a gem under the Rails name. We need to name the class `ActionSystemTestCase` because the gem expects a module but tests themselves expect a class. Adds MIT-LICENSE, CHANGELOG, and README for the future.
| * Appease Rubocopeileencodes2017-02-201-1/+1
| | | | | | | | Rubocop / code climate don't like single quotes and prefer doubles.
| * Add generators and ability to run system testseileencodes2017-02-2010-0/+57
| | | | | | | | | | | | | | * Generates system test requirements with new Rails app * Includes required default gems in Gemfile for Rails app * Generates a single system test case * Generates a system test case with scaffold
* | Merge pull request #27941 from ↵Kasper Timm Hansen2017-02-201-1/+1
|\ \ | |/ |/| | | | | y-yagi/prevent_multiple_values_being_set_to_run_via Prevent multiple values being set to `run_via`
| * Prevent multiple values being set to `run_via`yuuji.yaginuma2017-02-181-1/+1
| | | | | | | | | | When executing the test via rake, since `rake` is set for `run_via`, `ruby` should not be set. Related 2cb6c27310452da11b93d729c3b760ce988106e1
* | Merge pull request #28059 from y-yagi/do_not_run_git_init_inside_test_dummyGuillermo Iguaran2017-02-201-1/+1
|\ \ | | | | | | Do not run `git init` in dummy application
| * | Do not run `git init` in dummy applicationyuuji.yaginuma2017-02-181-1/+1
| | |
* | | Add missing module namespacing wrapperShota Iguchi2017-02-151-0/+2
|/ / | | | | | | refs: #28011
* | Merge pull request #27605 from ↵Godfrey Chan2017-02-142-3/+7
|\ \ | | | | | | | | | | | | mtsmfm/fix-generator-command-for-nested-rails-engine-take-2 Fix generator command for nested (namespaced) rails engine (take 2)
| * | Fix generator command for nested (namespaced) rails engine (take 2)Fumiaki MATSUSHIMA2017-01-072-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite https://github.com/rails/rails/pull/27550 085546df45 was reverted (b6ffb5efcb) because it change the return of `namespaced_path` from String to Array. ---------------- If we create nested (namespaced) rails engine such like bukkits-admin, `bin/rails g scaffold User name:string age:integer` will create `bukkits-admin/app/controllers/bukkits/users_controller.rb` but it should create `bukkits-admin/app/controllers/bukkits/admin/users_controller.rb`. In #6643, we changed `namespaced_path` as root path because we supposed application_controller is always in root but nested rails engine's application_controller will not.
* | | remove `ActiveSupport.halt_callback_chains_on_return_false` from everywhereyuuji.yaginuma2017-02-081-3/+0
| |/ |/|
* | Merge pull request #27891 from y-yagi/ignore_yarn_error_logEileen M. Uchitelle2017-02-031-0/+1
|\ \ | | | | | | Ignore yarn error log file
| * | Ignore yarn error log fileyuuji.yaginuma2017-02-031-0/+1
| | |
* | | generate mailer layout files only when it does not existyuuji.yaginuma2017-02-021-1/+1
|/ / | | | | | | If already have layout files, in many cases use it.
* | Added warning for reserved YAML keywords.Rich Seviora2017-01-301-0/+10
| | | | | | | | | | | | Update i18n.md Addressed Feedback
* | Modernize SQL Server database YAML for Linux/vNext.Ken Collins2017-01-271-21/+4
| |
* | s/an/a/Akira Matsuda2017-01-261-1/+1
| | | | | | | | [ci skip]
* | Merge pull request #27772 from y-yagi/remove_unreachable_codeSantiago Pastorino2017-01-242-8/+0
|\ \ | | | | | | remove unreachable code
| * | remove unreachable codeyuuji.yaginuma2017-01-232-8/+0
| | | | | | | | | | | | | | | | | | `app_path` is a required argument. Therefore, if `app_path` is not specified, it becomes an error in thor's option parsing, does not reach this check.
* | | do not run `git init` when specify the `pretend` optionyuuji.yaginuma2017-01-231-1/+1
|/ / | | | | | | | | When specifying the `pretend` option, expect that no processing will be done, so do not execute `git init` as well.
* | Merge pull request #27632 from dixpac/repo_initializeRafael Mendonça França2017-01-181-0/+7
|\ \ | | | | | | | | | Initalize git repo when creatin new rails app
| * | Initalize git repo when creatin new rails appdixpac2017-01-121-0/+7
| | | | | | | | | | | | | | | * If `--skip-git` is not specified initalize git repo when creating new rails app
* | | Merge pull request #27653 from s-jcs/feature/adjust_indentation_for_generatorRafael França2017-01-181-1/+1
|\ \ \ | | | | | | | | match indentations in environment template
| * | | match indentationsnin0422017-01-121-1/+1
| | | |
* | | | Add channel_prefix support to ActionCable redis/evented_redis adapters.Chad Ingram2017-01-171-0/+1
| | | |
* | | | Fix all rubocop violationsRafael Mendonça França2017-01-171-1/+0
| | | |
* | | | Change `platform` to `platforms`Junichi Ito2017-01-181-1/+1
| | | |
* | | | Install Byebug gem as default in Windows (mingw and x64_mingw) platform.Junichi Ito2017-01-181-1/+1
| | | |
* | | | Merge pull request #27601 from y-yagi/make_work_all_commands_from_engineKasper Timm Hansen2017-01-151-0/+1
|\ \ \ \ | | | | | | | | | | Make all rails commands work in engine
| * | | | make all rails commands work in engineyuuji.yaginuma2017-01-091-0/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, all rails commands can be executed in engine, but `server`, `console`, `dbconsole` and `runner` do not work. This make all rails commands work in engine. Related to #22588
* | | | remove unnecessary addition of `lib`yuuji.yaginuma2017-01-151-1/+0
| | | | | | | | | | | | | | | | | | | | `TestTask` add `lib` directory by default. Ref: https://github.com/ruby/rake/blob/master/lib/rake/testtask.rb#L39..L41
* | | | Rails::Generators::AppBase::GemfileEntry needs anonymous superclassAkira Matsuda2017-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | it has some methods that override the accessors and calls the original accessors via `super` this partially reverts 9360b6be63b7a452535699bcf6ae853df7f5eea7
* | | | class Foo < Struct.new(:x) creates an extra unneeded anonymous classAkira Matsuda2017-01-131-1/+1
| |/ / |/| | | | | | | | because Struct.new returns a Class, we just can give it a name and use it directly without inheriting from it
* | | Reduce string objects by using \ instead of + or << for concatenating stringsAkira Matsuda2017-01-123-5/+5
|/ / | | | | | | (I personally prefer writing one string in one line no matter how long it is, though)
* / Don't generate HTML/ERB templates for scaffold controller with --api flagPrathamesh Sonpatki2017-01-071-1/+6
|/ | | | - Fixes #27591.
* `self.` is not needed when calling its own instance methodAkira Matsuda2017-01-055-5/+5
| | | | Actually, private methods cannot be called with `self.`, so it's not just redundant, it's a bad habit in Ruby
* Revert "Merge pull request #27550 from ↵Rafael Mendonça França2017-01-035-6/+6
| | | | | | | | | mtsmfm/fix-generator-command-for-nested-rails-engine" This reverts commit 1e969bfb98b88799e2c759fce25a1d8cf00d7ce7, reversing changes made to a5041f267ded119c2d00b8786c2f2c1e3f93c8a1. Reason: It breaks the public API
* Merge pull request #27550 from ↵Rafael França2017-01-035-6/+6
|\ | | | | | | | | mtsmfm/fix-generator-command-for-nested-rails-engine Fix generator command for nested (namespaced) rails engine
| * Fix generator command for nested (namespaced) rails engineFumiaki MATSUSHIMA2017-01-035-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | If we create nested (namespaced) rails engine such like bukkits-admin, `bin/rails g scaffold User name:string age:integer` will create `bukkits-admin/app/controllers/bukkits/users_controller.rb` but it should create `bukkits-admin/app/controllers/bukkits/admin/users_controller.rb`. In #6643, we changed `namespaced_path` as root path because we supposed application_controller is always in root but nested rails engine's application_controller will not.
* | Merge pull request #27435 from kamipo/follow_up_25307Sean Griffin2017-01-032-2/+2
|\ \ | |/ |/| Active Record supports MySQL >= 5.1.10
| * Active Record supports MySQL >= 5.1.10Ryuta Kamizono2016-12-222-2/+2
| | | | | | | | | | | | | | | | | | | | | | Follow up to #25307 and #23458. Related with #27422. We are using `information_schema.referential_constraints` since #25307. The table was introduced in MySQL 5.1.10. MySQL 5.0 is too old. It is enough to support >= 5.1.10 at least. MySQL 5.0 GA was released in Dec 2005 and already EOL in Dec 2011. MySQL 5.1 GA was released in Dec 2008 and already EOL in Dec 2013.
* | Remove bin/yarn if yarn is skipped, tidy up testsPrathamesh Sonpatki2017-01-011-2/+2
| | | | | | | | | | | | - No need to remove bin/yarn separately for API only apps because :skip_yarn is set to true for API only apps. - Added a test for :skip_yarn config.
* | remove unnecessary `remove_file`yuuji.yaginuma2017-01-011-1/+0
| | | | | | | | | | | | It deletes the `app/mailers` directory itself, it is not necessary to delete the file individually. https://github.com/rails/rails/blob/master/railties/lib/rails/generators/rails/app/app_generator.rb#L329
* | remove `skip_bundle` option from plugin generatoryuuji.yaginuma2016-12-312-3/+3
| | | | | | | | | | | | | | Because `bundle install` is not executed regardless of whether the option is specified or not. Ref: fbd1e98cf983572ca9884f17f933ffe92833632a