* Remove channels from default app/ structure
Now that Hotwire is the default, the majority of apps won't need custom
channels. And those that do can get the files back via the generator.
* Remove trailing space
* Remove additional needless elements
* No longer to be generated
* No longer generated
Add a new script default folder to hold one-off or general purpose
scripts, such as data migration scripts, cleanup scripts, etc. Also add
a script generator to create such scripts.
Co-authored-by: Haroon Ahmed <haroon.ahmed25@gmail.com>
The overhead isn't necessary for development when not using the routes
command. We can omit it entirely by checking for existence of the routes
command constant.
At one point (I believe until ruby-1.8.0) Time could only represent
values between 1970 and the integer overflow in 2038. On modern Ruby
there does not seem to be a limit.
>> Time.at(2**128)
=> 10783118943836478994022445751222-08-06 01:04:16 -0700
TimeWithZone will also convert a DateTime to a Time when initialized
with one, so the code we had to catch this overflow and to deal with
DateTime is dead. This commit removes this code and adjusts the test to
be more general (the old test passed but we might as well keep a better
version of the test to check that we have a large both negative and
positive range).
Co-authored-by: Adam Hess <HParker@github.com>
Co-authored-by: Gannon McGibbon <gannon@hey.com>
I18n is intialized with file watchers for all translation paths when
reloading is enabled.
This includes translations contained within gems; which the user will
not be editing in development. This adds unnecessary performance
overhead.
This change ensures we're only watching the files we care about.
```ruby
[
"/Users/schwad/.gem/ruby/3.3.3/gems/validate_url-1.0.15/lib/locale/ar.yml", #
...
"/Users/schwad/path/to/my/app/config/locales/foo/en.yml"
...
]
```
[
"/Users/schwad/path/to/my/app/config/locales/foo/en.yml"
...
]
```
Some of these were specifically mentioned earlier in the Metal docs
(response_body=, content_type=, status=) but were not linked because the
methods were not documented (due to being part of a delegation).
This commit separates all of the delegated methods so that they can be
documented, adds links for the mentioned methods, and additionally
documents two methods on Response that are mentioned in the new Metal
documentation, but were not previously documented.
In line with the improvements made in #49095, implements the same
lazily yielding backtrace frame. This will improve the performance of
`verbose_enqueue_logs`.