At the moment if you create a new engine, it will put such lines in its
rakefile:
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile",
__FILE__)
load ''rails/tasks/engine.rake''
This way only a selected set of db tasks are available at the global rake
namespace, whilst the full set of the engine''s tasks is available at
the
app: namespace.
The other approach would be to do something like this:
load File.expand_path("../spec/dummy/Rakefile", __FILE__)
This way ALL the tasks are available at the global rake namespace.
Could anyone explain me what are the benefits of selective global namespace
tasks and app: namespacing?
It does seem clearer to have only the tasks really required for the
development of the engine available in the global namespace, but is it the
only reason?
The problem is that some gems expect to see tasks like db:test:prepare and
db:abort_if_pending_migrations at the global namespace and fail to work
properly until you bring these tasks out of the app:
Is it a fail on the side of these gems?
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to rubyonrails-core+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/groups/opt_out.