ActiveJob: allow empty queue names

As discussed in #17195, Que uses blank queue names by default for
performance reasons. At the very least, ActiveJob should allow users to
choose "" as their queue name. This adds a failing test to show that
this doesn't currently work, and then adds a patch to allow this behavior.
The previous code used to_s here as well, presumably because it's
converting symbols into strings.

On Thursday, October 9, 2014, Eugene Gilburg <notifications@github.com>
wrote:

> In activejob/lib/active_job/queue_name.rb:
>
> > @@ -24,7 +24,7 @@ def queue_as(part_name=nil, &block)
> >        end
> >
> >        def queue_name_from_part(part_name) #:nodoc:
> > -        queue_name = part_name.to_s.presence || default_queue_name
> > +        queue_name = part_name && part_name.to_s || default_queue_name
>
> why is &&part_name.tos condition needed here? What objects do you expect
> which are not nil/false, but which return nil/false when .to_s is called
> on them?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/rails/rails/pull/17223/files#r18672381>.
>