Commit Graph

18257 Commits

Author SHA1 Message Date
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