Piotr Sarnacki
6c906bf591
Use default_scope in isolated Engines to not force user to scope his routes
2010-09-03 22:59:15 +02:00
Piotr Sarnacki
b8d6dc3c84
Implemented RouteSet#default_scope, which allows to set the scope for the entire routes object
2010-09-03 22:59:15 +02:00
Piotr Sarnacki
b43b686b02
engines_blank_point should always be the last initializer in Engine
2010-09-03 22:59:15 +02:00
Piotr Sarnacki
a5e509d6b1
We should avoid creating additional initializers when we can, adding them makes boot process slower
2010-09-03 22:59:15 +02:00
Piotr Sarnacki
bf1ac82cec
Add some documantation on new route_key and param_key in ActiveModel::Naming
2010-09-03 22:59:15 +02:00
Piotr Sarnacki
6f3119d3c2
Remove namespace for isolated namespaced models in forms
2010-09-03 22:59:15 +02:00
Piotr Sarnacki
2607def862
Use new ActiveModel::Naming.route_key in polymorphic_routes
2010-09-03 22:59:15 +02:00
Piotr Sarnacki
6e5aed057f
Prepared ActiveModel::Naming to handle cases for namespaced isolated engines
2010-09-03 22:59:15 +02:00
Piotr Sarnacki
34cd8a68b1
Add some more docs on polymorphic_url with routes proxy
2010-09-03 22:59:14 +02:00
Piotr Sarnacki
706a3223a3
Add short note on using url_for instead of directly calling named route in polymorphic_url
2010-09-03 22:59:14 +02:00
Piotr Sarnacki
613cbe1f00
Add possibility to explicitly call engine's routes through polymorphic_routes, for example: polymorphic_url([blog, @post])
2010-09-03 22:59:13 +02:00
Piotr Sarnacki
16dcaf8368
Updated tests to use scope(:module => :engine_name) instead of namespace and updated mounted engine tests to actually use the namespacing
2010-09-03 22:59:13 +02:00
Piotr Sarnacki
b1c66f060b
Move RoutesProxy to separate file
2010-09-03 22:59:13 +02:00
Piotr Sarnacki
e35c2043b1
Include all helpers from non-namespaced engines
2010-09-03 22:59:13 +02:00
Piotr Sarnacki
98ab4ded37
Set only helpers_path on inherited hook in action_controller/railtie.rb and use helper(:all) just after that
2010-09-03 22:59:13 +02:00
Piotr Sarnacki
8ec2175aee
Added more tests for polymorphic_url with namespaced models and implemented missing use cases
2010-09-03 22:59:13 +02:00
Piotr Sarnacki
00874a2009
This was used only to clear warning in ActionMailer tests, it shouldn't be done like that
2010-09-03 22:59:13 +02:00
Piotr Sarnacki
e5af8b7d85
Moved ActionMailer and ActionController railties options to inherited hook
...
This change is needed, because we must take namespace into account and if
controller's/mailer's class is namespaced, engine's paths should be set
instead of application's ones.
The nice side effect of this is removing unneeded logic in
ActionController::Base.inherited - now the helpers_path should be set
correctly even for engine's controllers, so helper(:all) will always
include correct helpers.
2010-09-03 22:59:12 +02:00
Piotr Sarnacki
8fb9df535e
Modified polymorphic_url to check for model's namespace
...
This change allows using namespaced models with polymorphic_url,
in the way that you would use them without namespace.
Let's say that you have Blog::Post model in namespaced Engine. When you use
polymorphic_path with Blog::Post instances, like in form_for(@post),
it will look for blog_posts_path named url helper. As we are inside Blog::Engine,
it's annoying to always use the prefix. With this commit, blog_ prefix will be
removed and posts_path will be called.
2010-09-03 22:59:12 +02:00
Piotr Sarnacki
8284fd3855
Get rid of static_paths method and instead configure paths for ActionDispatch::Static in initializers
2010-09-03 22:59:12 +02:00
Piotr Sarnacki
d812677277
We don't need to clear action_methods on inherited hook as they are cleaned on method_added hook
2010-09-03 22:59:12 +02:00
Piotr Sarnacki
56ef192374
ActionMailer should not depend on ActionDispatch
2010-09-03 22:59:12 +02:00
Piotr Sarnacki
f3c703a32f
Refactor RoutesProxy to avoid using _with_routes in helpers
2010-09-03 22:59:12 +02:00
Piotr Sarnacki
434139f89f
Documented mounted helpers
2010-09-03 22:59:12 +02:00
Piotr Sarnacki
1a161c75ed
Document engine_name
2010-09-03 22:59:11 +02:00
Piotr Sarnacki
2e4e1e7d0c
Added documentation for namespaced Engine
2010-09-03 22:59:11 +02:00
Piotr Sarnacki
db8a864e69
Add table_name_prefix to Engine's namespace automatically
2010-09-03 22:59:11 +02:00
Piotr Sarnacki
a7c6fe4c2a
Rename isolated_engine_for to namespace
2010-09-03 22:59:11 +02:00
Piotr Sarnacki
79bd92b783
Refactor ActionMailer to not use hide_actions
2010-09-03 22:59:11 +02:00
Piotr Sarnacki
4131a2d804
Move ActionController::Railties::RoutesHelpers and ActionMailer::Railties::RoutesHelper to AbstractController::Railties::RoutesHelpers
2010-09-03 22:59:11 +02:00
Piotr Sarnacki
32baa27892
Include routes helpers only for inherited classes in ActionMailer
2010-09-03 22:59:10 +02:00
Piotr Sarnacki
befa77fc18
Fix generating urls with mounted helpers in view context
...
There were actually 2 problems with this one:
* script_name was added to options as a string and then it was used
in RouteSet#url_for with usage of <<, which was changing the original
script_name
* the second issue was with _with_routes method. It was called in RoutesProxy
to modify _routes in view_context, but url_helpers in views is just delegating
it to controller, so another _with_routes call is needed there
2010-09-03 22:59:10 +02:00
Piotr Sarnacki
e063879daf
Fix copying migrations to empty directory
2010-09-03 22:59:10 +02:00
Piotr Sarnacki
c7664d112f
Include application's helpers and router helpers by default, but include engine's ones for controllers inside isolated namespace
2010-09-03 22:59:10 +02:00
Piotr Sarnacki
9913193931
For view_context we need to initialize RoutesProxy in context of controller, not view, quick fix, I need to dig into it later
2010-09-03 22:59:10 +02:00
Piotr Sarnacki
8fdeff0fa5
mounted helpers should be included in ActionMailer
2010-09-03 22:59:10 +02:00
Piotr Sarnacki
2734d3819f
This is not needed
2010-09-03 22:59:10 +02:00
Piotr Sarnacki
937f41919c
Engine's assets are now served with ActionDispatch::Static
2010-09-03 22:59:09 +02:00
Piotr Sarnacki
401cd97923
Modified ActionDispatch::Static to allow passing multiple roots
2010-09-03 22:59:09 +02:00
Piotr Sarnacki
5b6553ebb5
Set asset_path to engine_name by default
2010-09-03 22:59:09 +02:00
Piotr Sarnacki
559979b984
Always convert railtie_name to string
2010-09-03 22:59:09 +02:00
Piotr Sarnacki
43a2aef316
rake db:copy_migrations task, which copies railties migrations into application's db/migrate directory
2010-09-03 22:59:09 +02:00
Piotr Sarnacki
75f8ac6ea7
Implemented ActiveRecord::Migrations#copy based on James Adam's idea
...
ActiveRecord::Migration#copy allows to copy migrations from one place
to another, changing migrations versions and adding scope to filename.
For example:
ActiveRecord::Migration.copy("db/migrate",
:blog_engine => "vendor/gems/blog/db/migrate")
will copy all migrations from vendor/gems/blog/db/migrate to db/migrate
with such format:
Versions of copied migrations will be reversioned to be appended after
migrations that already exists in db/migrate
2010-09-03 22:59:09 +02:00
Piotr Sarnacki
2068b8cb6a
Added tests for railtie_name and aliased it in engine as engine_name
2010-09-03 22:59:09 +02:00
Piotr Sarnacki
bfccbc6df9
Add Rails::Railtie.railtie_name method to allow setting custom name for railtie
2010-09-03 22:59:08 +02:00
Piotr Sarnacki
b52dfc6726
Added Rails.application.config.paths.db.migrate to remove hardcoded db/migrate paths
2010-09-03 22:59:08 +02:00
Piotr Sarnacki
0c1cd15470
to_param shoul return a string
2010-09-03 22:59:08 +02:00
Piotr Sarnacki
4cd6f77526
We don't need delegating polymorphic_url and polymorphic_path anymore
2010-09-03 22:59:08 +02:00
Piotr Sarnacki
a132229d7b
Added ability to set asset_path for engines
2010-09-03 22:59:08 +02:00
Piotr Sarnacki
abeb0ff2cc
Ensure that Rails.application.initialize! is called only once
2010-09-03 22:59:07 +02:00