Erubi offers the following advantages for Rails:
* Works with ruby's --enable-frozen-string-literal option
* Has 88% smaller memory footprint
* Does no freedom patching (Erubis adds a method to Kernel)
* Has simpler internals (1 file, <150 lines of code)
* Has an open development model (Erubis doesn't have a
public source control repository or bug tracker)
* Is not dead (Erubis hasn't been updated since 2011)
Erubi is a simplified fork of Erubis that contains just the
parts that are generally needed (which includes the parts
that Rails uses). The only intentional difference in
behavior is that it does not include support for <%=== tags
for debug output. That could be added to the ActionView ERB
handler if it is desired.
The Erubis template handler remains in a deprecated state
so that code that accesses it directly does not break. It
can be removed after Rails 5.1.
When the initial evented monitor feature was written, the latest version of listen
was the 3.0.x series. Since then the listen project has moved on to the 3.1.x series.
This patch allows the use of the new versions.
Mostly, this is just to avoid EventMachine. But there's also an argument
to be made that we're better off using a different protocol library for
our test suite than the one we use to implement the server.
When run test of Active Job with resque 1.26, occurs following error.
```
QueuingTest#test_current_locale_is_kept_while_running_perform_later:
NoMethodError: undefined method `current_tags' for #<Resque::QuietFormatter:0x0055b44f63ed50>
/home/yaginuma/program/rails/master_y_yagi/rails/activejob/lib/active_job/logging.rb:51:in `logger_tagged_by_active_job?'
```
This was happening for the formatter class of resque not the formatter class of
Rails is they've been used to logger.formatter.
This was happening because become fomatter is changed during the instantiation
of worker in the resque 1.26.
In the master, unless the environment variable is set, fomatter is so as not to
be changed, test will pass.
Ref: https://github.com/resque/resque/pull/1439
Apps that depend on Action Cable don't need Blade for app development,
so we can remove the gem dependency.
We do need Blade for Action Cable dev, so we bundle it in the Gemfile.
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
Without the `wdm` gem, it appears that `listen` keeps an open handle to
each of these files, causing them not to be removed when the tempdir
tries to clean iteslf up, and then directory to fail to unlink. In
addition to fixing that particular failure, we now construct OS agnostic
paths, and capture exceptions if the directory fails to unlink so that
minitest will report it rather than crash