| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
`rails plugin new` with `--full` and `--skip-sprockets` options generates a dummy application that throws `NoMethodError`.
```
% rails plugin new my_engine -S --full --skip-gemspec
% cd my_engine
% bin/rails test
rails aborted!
NoMethodError: undefined method `assets' for #<Rails::Application::Configuration:0x007f83aa1e6100>
```
|
| |
|
| |
|
| |
|
|
|
|
| |
If `sprockets` is not loaded, `Rails.application.config.assets` is not defined.
|
| |
|
|
|
|
|
|
|
| |
29f0fbd5db643b885665e4a14c7de3bf6c0d9c96 has changed that always call
`Minitest.autorun` in `active_support/testing/autorun`.
Therefore, when used directly `Minitest.run`, tests are performed twice.
|
|
|
|
|
|
| |
assert [1, 3].includes?(2) fails with unhelpful "Asserting failed" message
assert_includes [1, 3], 2 fails with "Expected [1, 3] to include 2" which makes it easier to debug and more obvious what went wrong
|
|
|
|
| |
Follow up to 92703a9ea5d8b96f30e0b706b801c9185ef14f0e
|
|\
| |
| |
| |
| | |
y-yagi/remove_test_mailers_when_skipping_action-mailer
remove "test/mailers" directory when skipping action-mailer
|
| |
| |
| |
| | |
Related to #26146
|
|/
|
|
|
|
|
|
| |
Style/SpaceBeforeBlockBraces
Style/SpaceInsideBlockBraces
Style/SpaceInsideHashLiteralBraces
Fix all violations in the repository.
|
|
|
|
| |
Closes #26145
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The current code base is not uniform. After some discussion,
we have chosen to go with double quotes by default.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I dropped the version constraint in web-console with the idea it will be
easier to upgrade the console between Rails releases. However, issues
like #25899 started popping up.
I'm reintroducing the constraint, but this time, I don't set an upper
limit to the major version. This will keep the web-console in a version
that always works for the current Rails version and can be easily
upgraded to the last one with `bundle update`.
We may need to backport this for Rails 5.0.1.
Fixes #25899.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
initializer
- By default the session store will be set to cookie store with
application name as session key.
- Older apps are not affected as they will have the session store
initializer generated by Rails in older versions, and Rails will not
overwrite the session store if it is already set or disabled.
- But new apps will not have the initializer, instead the session store
will be set to cookie store by default.
- Based on comment by DHH here - https://github.com/rails/rails/issues/25181#issuecomment-222312764.
|
|
|
|
|
|
| |
Since bundler 1.12.0, the gemspec is validated so the `bundle install`
command will fail just after the gem is created causing confusion to the
users. This change was a bug fix to correctly validate gemspecs.
|
|\
| |
| | |
Generate application_record.rb file before model file
|
| |
| |
| |
| |
| |
| | |
Previously model file was generated first, which resulted in
inheriting from `ActiveRecord::Base`, but since application_record.rb
is generated as well, it should already be used.
|
|\ \
| |/
|/|
| |
| | |
y-yagi/generate_mailer_layout_files_if_it_does_not_already_exist
generate mailer layout files if it does not already exist
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, if `ApplicationMailer` does not exist, it is generated when
run the mailer generator, but layouts files does not generate.
However, because it uses the layouts in `ApplicationMailer`,
layouts are required.
Follow up to #24161
|
| |
| |
| |
| |
| |
| |
| | |
- Fixes #25183.
- The `as: :json` feature was added in
https://github.com/rails/rails/pull/21671 and recommended to use for
JSON endpoints so let's use it by default for API controller tests.
|
| |
| |
| |
| | |
- Adjusted tests instead.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
request_forgery_protection configs
- Earlier per_form_csrf_tokens and request_forgery_protection config
files were generated for old apps upgraded to Rails 5.
- But when we collapsed all initializers into one file, the entire file
does not get created for old apps.
- This commit fixes it and also changes values for all new defaults for
old apps so that they will not break.
- Also added a test for `rails app:update`.
|
| |
| |
| |
| |
| |
| | |
- Adjusted tests also for this new behavior.
- Based on the discussion in
https://github.com/rails/rails/pull/25184#issuecomment-222454583.
|
| |
| |
| |
| |
| |
| | |
- These initializers are new defaults for Rails 5 and newly generated
apps do not need to change them.
- Fixes #25181
|
| |
| |
| |
| | |
Follow up to e45f388.
|
| |
| |
| |
| | |
- Fixes #25180
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
javascript engine of the application
- Now we will detect what javascript engine user is using and based on
that we will generate either `.js` or `.coffee` version of the channel
file.
- This also needs a change in coffee-rails to override the `js_template`
method. Related PR https://github.com/rails/coffee-rails/pull/72.
- Currently coffee-rails gem sets
`config.app_generators.javascript_engine` to `:coffee` and using this
information we override the `js_template` to set the extension as
`.coffee` in coffee-rails gem.
- Using this approach, we can keep the `channel.js` and `channel.coffee`
files in the Rails repository itself.
- Additionally the `js_template` method can act as public interface for
coffee-rails gem to hook into and change the extension to `.coffee`
without maintaining the actual asset files.
[Prathamesh Sonpatki, Matthew Draper]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Ruby 2.4 the `to_time` method for both `DateTime` and `Time` will
preserve the timezone of the receiver when converting to an instance
of `Time`. Since Rails 5.0 will support Ruby 2.2, 2.3 and later we
need to introduce a compatibility layer so that apps that upgrade do
not break. New apps will have a config initializer file that defaults
to match the new Ruby 2.4 behavior going forward.
For information about the changes to Ruby see:
https://bugs.ruby-lang.org/issues/12189
https://bugs.ruby-lang.org/issues/12271
Fixes #24617.
|
|
|
|
| |
`cable.js` is required for other Channels.
|
|
|
|
|
|
|
|
|
| |
- Before this, while generating a channel, we were not creating
`cable.js` if it does not already exist.
- We have similar code for application mailer here -
https://github.com/rails/rails/commit/0b3ae023d27197417541932632055cd6be4810c4.
- Based on the comment -
https://github.com/rails/rails/issues/24418#issuecomment-205421995.
|
|\
| |
| | |
generate ApplicationJob if it does not already exist
|
| |
| |
| |
| |
| |
| | |
ActiveJob jobs now inherit from ApplicationJob by default.
However, when updating to Rails 5 from the old Rails,
since there is a possibility that ApplicationJob does not exist.
|
|/
|
|
|
|
| |
* Updated syntax
* Updated tests to match syntax
|
|\
| |
| | |
Correctly generate application_mailer.rb in mountable engines
|
| |
| |
| |
| | |
- Followup of https://github.com/rails/rails/pull/24161.
|
|\ \
| | |
| | |
| | | |
Comment out config.file_watcher during Rails upgrade process
|
| |/
| |
| |
| | |
[related #24243]
|
|/ |
|
| |
|
|\
| |
| | |
Remove passing `with_dispatchers` to AppGenerator
|
| |
| |
| |
| |
| |
| |
| | |
- While working on https://github.com/rails/rails/pull/22790 I found out
that we pass `with_dispatchers: true` but it's not used at all by Rails.
- We were passing `with_dispatchers: true` in few tests too but again
it's not used by Rails.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit comes from the comments made by @matthewd at https://github.com/rails/rails/pull/23795/files#r54469637
and by @rafaelfranca at https://github.com/rails/rails/pull/23795/files#r54609364
The idea is that if you type (for example) "rake db:migrate" in an AppGenerator,
then this should actually invoke `rake db:migrate` on the command line, whereas
if you type "rails_command db:migrate", this should invoke `rails db:migrate`.
|