aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Do not add master key and credentials when `pretend` option is specifiedyuuji.yaginuma2017-09-121-0/+4
| | |
* | | Make master key added to gitignore the same value as when creating appplicationyuuji.yaginuma2017-09-142-16/+15
|/ / | | | | | | | | | | | | | | | | For gitignore generated by `rails new`, key with a leading slash is specified. https://github.com/rails/rails/blob/69f976b859cae7f9d050152103da018b7f5dda6d/railties/lib/rails/generators/rails/app/templates/gitignore#L11 Therefore, when executing `credentials:edit`, also need leading slack. In order to avoid such a difference, fixed to use same method for `rails new` and `credentials:edit`.
* | Add credentials using a generic EncryptedConfiguration class (#30067)David Heinemeier Hansson2017-09-115-5/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * WIP: Add credentials using a generic EncryptedConfiguration class This is sketch code so far. * Flesh out EncryptedConfiguration and test it * Better name * Add command and generator for credentials * Use the Pathnames * Extract EncryptedFile from EncryptedConfiguration and add serializers * Test EncryptedFile * Extract serializer validation * Stress the point about losing comments * Allow encrypted configuration to be read without parsing for display * Use credentials by default and base them on the master key * Derive secret_key_base in test/dev, source it from credentials in other envs And document the usage. * Document the new credentials setup * Stop generating the secrets.yml file now that we have credentials * Document what we should have instead Still need to make it happen, tho. * [ci skip] Keep wording to `key base`; prefer defaults. Usually we say we change defaults, not "spec" out a release. Can't use backticks in our sdoc generated documentation either. * Abstract away OpenSSL; prefer MessageEncryptor. * Spare needless new when raising. * Encrypted file test shouldn't depend on subclass. * [ci skip] Some woordings. * Ditch serializer future coding. * I said flip it. Flip it good. * [ci skip] Move require_master_key to the real production.rb. * Add require_master_key to abort the boot process. In case the master key is required in a certain environment we should inspect that the key is there and abort if it isn't. * Print missing key message and exit immediately. Spares us a lengthy backtrace and prevents further execution. I've verified the behavior in a test app, but couldn't figure the test out as loading the app just exits immediately with: ``` /Users/kasperhansen/Documents/code/rails/activesupport/lib/active_support/testing/isolation.rb:23:in `load': marshal data too short (ArgumentError) from /Users/kasperhansen/Documents/code/rails/activesupport/lib/active_support/testing/isolation.rb:23:in `run' from /Users/kasperhansen/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/minitest-5.10.2/lib/minitest.rb:830:in `run_one_method' from /Users/kasperhansen/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/minitest-5.10.2/lib/minitest/parallel.rb:32:in `block (2 levels) in start' ``` It's likely we need to capture and prevent the exit somehow. Kernel.stub(:exit) didn't work. Leaving it for tomorrow. * Fix require_master_key config test. Loading the app would trigger the `exit 1` per require_master_key's semantics, which then aborted the test. Fork and wait for the child process to finish, then inspect the exit status. Also check we aborted because of a missing master key, so something else didn't just abort the boot. Much <3 to @tenderlove for the tip. * Support reading/writing configs via methods. * Skip needless deep symbolizing. * Remove save; test config reader elsewhere. * Move secret_key_base check to when we're reading it. Otherwise we'll abort too soon since we don't assign the secret_key_base to secrets anymore. * Add missing string literal comments; require unneeded yaml require. * ya ya ya, rubocop. * Add master_key/credentials after bundle. Then we can reuse the existing message on `rails new bc4`. It'll look like: ``` Using web-console 3.5.1 from https://github.com/rails/web-console.git (at master@ce985eb) Using rails 5.2.0.alpha from source at `/Users/kasperhansen/Documents/code/rails` Using sass-rails 5.0.6 Bundle complete! 16 Gemfile dependencies, 72 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. Adding config/master.key to store the master encryption key: 97070158c44b4675b876373a6bc9d5a0 Save this in a password manager your team can access. If you lose the key, no one, including you, can access anything encrypted with it. create config/master.key ``` And that'll be executed even if `--skip-bundle` was passed. * Ensure test app has secret_key_base. * Assign secret_key_base to app or omit. * Merge noise * Split options for dynamic delegation into its own method and use deep symbols to make it work * Update error to point to credentials instead * Appease Rubocop * Validate secret_key_base when reading it. Instead of relying on the validation in key_generator move that into secret_key_base itself. * Fix generator and secrets test. Manually add config.read_encrypted_secrets since it's not there by default anymore. Move mentions of config/secrets.yml to config/credentials.yml.enc. * Remove files I have no idea how they got here. * [ci skip] swap secrets for credentials. * [ci skip] And now, changelogs are coming.
* | Explicitly require `test_unit/reporter` in test helperyuuji.yaginuma2017-09-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | If the user used the `bin/test` to execute the test, this file is automatically loaded, so require is unnecessary. https://github.com/rails/rails/blob/acea68de026ba657cb65c4dd0fc1f24ba67e1cf8/railties/lib/rails/plugin/test.rb#L4 However, when using `rake test`, an explicit require is required because the above file is not loaded. Fixes #30516
* | Merge pull request #30323 from yhirano55/support_multiple_version_for_gem_methodMatthew Draper2017-08-311-5/+10
|\ \ | | | | | | Support multiple versions arguments for `gem` method of Generators
| * | Support multiple versions arguments for `gem` method of GeneratorsYoshiyuki Hirano2017-08-191-5/+10
| | |
* | | Use REDIS_URL var for Action Cable config templateMr. Outis2017-08-221-1/+1
| | |
* | | Merge pull request #30348 from koic/remove_frozen_string_literal_from_templatesGeorge Claghorn2017-08-2141-83/+0
|\ \ \ | | | | | | | | Remove frozen_string_literal magic comment from templates
| * | | Remove frozen_string_literal magic comment from templatesKoichi ITO2017-08-2241-83/+0
| | | |
* | | | Merge pull request #30352 from yhirano55/update_licenses_linkRyuta Kamizono2017-08-221-1/+1
|\ \ \ \ | |/ / / |/| | | Update MIT licenses link [ci skip]
| * | | Update MIT licenses link [ci skip]Yoshiyuki Hirano2017-08-221-1/+1
| |/ /
* / / Fix broken link to mysql docs in database.yml [ci skip]Yoshiyuki Hirano2017-08-222-2/+2
|/ /
* | Move common tests from `AppGeneratorTest` and `PluginGeneratorTest` to ↵bogdanvlviv2017-08-172-0/+4
| | | | | | | | `SharedGeneratorTests`
* | Merge pull request #30260 from kamipo/remove_unused_action_argRafael França2017-08-161-2/+3
|\ \ | | | | | | Remove unused `action` arg for `generate_routing_code`
| * | Remove unused `action` arg for `generate_routing_code`Ryuta Kamizono2017-08-151-2/+3
| | |
* | | Add --skip-yarn option to the plugin generatorbogdanvlviv2017-08-153-2/+5
| | | | | | | | | | | | | | | Add SharedGeneratorTests#application_path This method will help to DRY in files app_generator_test.rb, plugin_generator_test.rb
* | | Fix format of generator docs [ci skip]Yoshiyuki Hirano2017-08-151-1/+1
|/ /
* | Merge pull request #30219 from yhirano55/fix_app_generator_api_optionsRafael França2017-08-145-7/+7
|\ \ | | | | | | Refactor `--api` option of the app generator
| * | Refactor `--api` option of the app generatorYoshiyuki Hirano2017-08-135-7/+7
| | | | | | | | | | | | | | | It can't use JavaScript in api mode. Action cable should be disabled by default.
* | | Merge pull request #30244 from yhirano55/refactor_max_age_secondsRafael França2017-08-142-2/+2
|\ \ \ | | | | | | | | Refactor max-age seconds
| * | | Refactor max-age secondsYoshiyuki Hirano2017-08-142-2/+2
| |/ /
* | | Merge pull request #30235 from bogdanvlviv/omit-additional-removing-cable_ymlRafael França2017-08-141-1/+0
|\ \ \ | | | | | | | | Omit additional removing `config/cable.yml`
| * | | Omit additional removing `config/cable.yml` by the app generatorbogdanvlviv2017-08-131-1/+0
| |/ / | | | | | | | | | `config/cable.yml` is never created if `--skip-action-cable` is given.
* | | Merge pull request #30239 from bogdanvlviv/improve-plugin_generator_codeRafael França2017-08-141-2/+1
|\ \ \ | | | | | | | | Improve plugin generator codebase
| * | | Remove `:force` from PASSTHROUGH_OPTIONS for plugin generatorbogdanvlviv2017-08-131-1/+1
| | | | | | | | | | | | | | | | `:force` is setted inside the method `generate_test_dummy`
| * | | Register `--api` option for plugin generator by PASSTHROUGH_OPTIONS constantbogdanvlviv2017-08-131-2/+1
| |/ /
* | | Merge pull request #30241 from yhirano55/optimize_routes_indentationRafael Mendonça França2017-08-143-34/+28
|\ \ \ | | | | | | | | | | | | Optimize routes indentation
| * | | Optimize routes indentationYoshiyuki Hirano2017-08-143-33/+27
| |/ /
* | | Adding frozen_string_literal pragma to Railties.Pat Allan2017-08-14101-0/+202
| | |
* | | Railties updates for frozen string literals.Pat Allan2017-08-142-2/+2
|/ /
* | Merge pull request #30166 from yhirano55/fix_generator_method_environmentRafael Mendonça França2017-08-111-13/+28
|\ \ | | | | | | | | | Optimize indentation for generator actions
| * | Optimize indentation for generator actionsYoshiyuki Hirano2017-08-111-13/+28
| | |
* | | Merge pull request #30114 from yhirano55/remove_empty_line_from_dummy_manifestRafael França2017-08-111-1/+0
|\ \ \ | | | | | | | | Removed empty line from dummy_manifest
| * | | Removed empty line from dummy_manifestYoshiyuki Hirano2017-08-071-1/+0
| | | |
* | | | Merge pull request #30116 from ↵Rafael Mendonça França2017-08-111-0/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | yhirano55/skip_unused_components_when_running_rails_command_in_plugin Skip unused components when running `bin/rails` in Rails plugin
| * | | | Skip unused components when running in Rails pluginYoshiyuki Hirano2017-08-091-0/+15
| | | | |
* | | | | Merge pull request #30110 from yhirano55/add_git_sourceRafael Mendonça França2017-08-111-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Add git_source to Gemfile for plugin generator
| * | | | | Add git_source to Gemfile for plugin generatorYoshiyuki Hirano2017-08-091-0/+1
| |/ / / /
* | | | | Merge pull request #30092 from bogdanvlviv/prevent-generation-extra-empty-linesRafael França2017-08-112-7/+6
|\ \ \ \ \ | |_|_|/ / |/| | | | Prevent generation extra empty lines in a plugin's Rakefile
| * | | | Prevent generation extra empty lines in a plugin's Rakefilebogdanvlviv2017-08-092-7/+6
| | | | |
* | | | | `--skip-action-cable` pass throughs `rails plugin new`bogdanvlviv2017-08-101-1/+1
| | | | |
* | | | | Merge pull request #30091 from yhirano55/fix_engine_commandRafael França2017-08-081-0/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix engine command
| * | | | | Fix engine commandYoshiyuki Hirano2017-08-061-0/+2
| |/ / / /
* | | | | Merge pull request #30088 from y-yagi/use_the_same_key_as_presented_in_docRafael França2017-08-081-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Use the same key as presented in doc
| * | | | | Use the same key as presented in docyuuji.yaginuma2017-08-091-1/+1
| | |/ / / | |/| | | | | | | | | | | | | Ref: https://github.com/rails/rails/blob/a8217bb594a625fb46a6af1488c0bde4aeac4986/railties/lib/rails/generators/rails/app/templates/config/storage.yml#L24
* | | | | Merge pull request #30115 from ↵Rafael França2017-08-081-4/+6
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | intrip/30049-application-controller-renderer-defaults-automatic-reload-in-dev Fix ApplicationController.renderer.defaults overriding in development
| * | | | Fix ApplicationController.renderer.defaults overriding in developmentJacopo2017-07-201-4/+6
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Previously overriding ApplicationController.renderer.defaults wasn't working effectively in development. In fact the override was unset every time the code was reloaded. The solution is to wrap the code in a `.to_prepare` block.
* | | | Merge pull request #30123 from yhirano55/fix_dummy_app_configurationRafael França2017-08-081-3/+5
|\ \ \ \ | | | | | | | | | | Fix dummy_app configuration
| * | | | Fix dummy_app configurationYoshiyuki Hirano2017-08-081-3/+5
| |/ / /
* / / / Use `with_dummy_app?` in gitignoreYoshiyuki Hirano2017-08-081-1/+1
|/ / /