Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Include all helpers from non-namespaced engines | Piotr Sarnacki | 2010-09-03 | 4 | -12/+38 |
| | |||||
* | Set only helpers_path on inherited hook in action_controller/railtie.rb and ↵ | Piotr Sarnacki | 2010-09-03 | 5 | -38/+17 |
| | | | | use helper(:all) just after that | ||||
* | Added more tests for polymorphic_url with namespaced models and implemented ↵ | Piotr Sarnacki | 2010-09-03 | 2 | -5/+66 |
| | | | | missing use cases | ||||
* | This was used only to clear warning in ActionMailer tests, it shouldn't be ↵ | Piotr Sarnacki | 2010-09-03 | 1 | -5/+0 |
| | | | | done like that | ||||
* | Moved ActionMailer and ActionController railties options to inherited hook | Piotr Sarnacki | 2010-09-03 | 5 | -22/+61 |
| | | | | | | | | | | | 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. | ||||
* | Modified polymorphic_url to check for model's namespace | Piotr Sarnacki | 2010-09-03 | 2 | -4/+34 |
| | | | | | | | | | | | 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. | ||||
* | Get rid of static_paths method and instead configure paths for ↵ | Piotr Sarnacki | 2010-09-03 | 6 | -17/+29 |
| | | | | ActionDispatch::Static in initializers | ||||
* | We don't need to clear action_methods on inherited hook as they are cleaned ↵ | Piotr Sarnacki | 2010-09-03 | 1 | -5/+0 |
| | | | | on method_added hook | ||||
* | ActionMailer should not depend on ActionDispatch | Piotr Sarnacki | 2010-09-03 | 3 | -3/+2 |
| | |||||
* | Refactor RoutesProxy to avoid using _with_routes in helpers | Piotr Sarnacki | 2010-09-03 | 3 | -4/+10 |
| | |||||
* | Documented mounted helpers | Piotr Sarnacki | 2010-09-03 | 1 | -0/+29 |
| | |||||
* | Document engine_name | Piotr Sarnacki | 2010-09-03 | 1 | -0/+16 |
| | |||||
* | Added documentation for namespaced Engine | Piotr Sarnacki | 2010-09-03 | 1 | -2/+34 |
| | |||||
* | Add table_name_prefix to Engine's namespace automatically | Piotr Sarnacki | 2010-09-03 | 3 | -1/+16 |
| | |||||
* | Rename isolated_engine_for to namespace | Piotr Sarnacki | 2010-09-03 | 2 | -5/+5 |
| | |||||
* | Refactor ActionMailer to not use hide_actions | Piotr Sarnacki | 2010-09-03 | 7 | -69/+40 |
| | |||||
* | Move ActionController::Railties::RoutesHelpers and ↵ | Piotr Sarnacki | 2010-09-03 | 4 | -22/+5 |
| | | | | ActionMailer::Railties::RoutesHelper to AbstractController::Railties::RoutesHelpers | ||||
* | Include routes helpers only for inherited classes in ActionMailer | Piotr Sarnacki | 2010-09-03 | 5 | -27/+67 |
| | |||||
* | Fix generating urls with mounted helpers in view context | Piotr Sarnacki | 2010-09-03 | 3 | -3/+5 |
| | | | | | | | | | | 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 | ||||
* | Fix copying migrations to empty directory | Piotr Sarnacki | 2010-09-03 | 3 | -1/+15 |
| | |||||
* | Include application's helpers and router helpers by default, but include ↵ | Piotr Sarnacki | 2010-09-03 | 8 | -4/+182 |
| | | | | engine's ones for controllers inside isolated namespace | ||||
* | For view_context we need to initialize RoutesProxy in context of controller, ↵ | Piotr Sarnacki | 2010-09-03 | 1 | -2/+4 |
| | | | | not view, quick fix, I need to dig into it later | ||||
* | mounted helpers should be included in ActionMailer | Piotr Sarnacki | 2010-09-03 | 2 | -1/+3 |
| | |||||
* | This is not needed | Piotr Sarnacki | 2010-09-03 | 1 | -26/+0 |
| | |||||
* | Engine's assets are now served with ActionDispatch::Static | Piotr Sarnacki | 2010-09-03 | 3 | -6/+46 |
| | |||||
* | Modified ActionDispatch::Static to allow passing multiple roots | Piotr Sarnacki | 2010-09-03 | 6 | -21/+104 |
| | |||||
* | Set asset_path to engine_name by default | Piotr Sarnacki | 2010-09-03 | 2 | -14/+31 |
| | |||||
* | Always convert railtie_name to string | Piotr Sarnacki | 2010-09-03 | 1 | -1/+1 |
| | |||||
* | rake db:copy_migrations task, which copies railties migrations into ↵ | Piotr Sarnacki | 2010-09-03 | 2 | -0/+71 |
| | | | | application's db/migrate directory | ||||
* | Implemented ActiveRecord::Migrations#copy based on James Adam's idea | Piotr Sarnacki | 2010-09-03 | 11 | -25/+265 |
| | | | | | | | | | | | | | | | 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 | ||||
* | Added tests for railtie_name and aliased it in engine as engine_name | Piotr Sarnacki | 2010-09-03 | 2 | -0/+18 |
| | |||||
* | Add Rails::Railtie.railtie_name method to allow setting custom name for railtie | Piotr Sarnacki | 2010-09-03 | 4 | -2/+19 |
| | |||||
* | Added Rails.application.config.paths.db.migrate to remove hardcoded ↵ | Piotr Sarnacki | 2010-09-03 | 3 | -10/+15 |
| | | | | db/migrate paths | ||||
* | to_param shoul return a string | Piotr Sarnacki | 2010-09-03 | 1 | -1/+1 |
| | |||||
* | We don't need delegating polymorphic_url and polymorphic_path anymore | Piotr Sarnacki | 2010-09-03 | 1 | -10/+6 |
| | |||||
* | Added ability to set asset_path for engines | Piotr Sarnacki | 2010-09-03 | 9 | -13/+141 |
| | |||||
* | Ensure that Rails.application.initialize! is called only once | Piotr Sarnacki | 2010-09-03 | 2 | -0/+7 |
| | |||||
* | Added documentation on endpoint, middeware stack and routes for Engine | Piotr Sarnacki | 2010-09-03 | 1 | -0/+60 |
| | |||||
* | We don't need that initializer in tests | Piotr Sarnacki | 2010-09-03 | 1 | -4/+0 |
| | |||||
* | Ensure that url_helpers included after application's ones have higher priority | Piotr Sarnacki | 2010-09-03 | 1 | -0/+15 |
| | |||||
* | Add mounted_helpers to routes | Piotr Sarnacki | 2010-09-03 | 9 | -98/+192 |
| | | | | | | | | | | | | | | | | mounted_helpers are a bit similar to url_helpers. They're automatically included in controllers for Rails.application and each of mounted Engines. Mounted helper allows to call url_for and named helpers for given application. Given Blog::Engine mounted as blog_engine, there are 2 helpers defined: app and blog_engine. You can call routes for app and engine using those helpers: app.root_url app.url_for(:controller => "foo") blog_engine.posts_path blog_engine.url_for(@post) | ||||
* | Routes refactoring: | Piotr Sarnacki | 2010-09-03 | 5 | -60/+83 |
| | | | | | | | * added more tests for prefix generation * fixed bug with generating host for both prefix and url * refactored url_for method * organized tests for prefix generation | ||||
* | Use new url_for API instead of including routes.url_helpers | Piotr Sarnacki | 2010-09-03 | 2 | -9/+4 |
| | |||||
* | Ensure that env is always available in controllers | Piotr Sarnacki | 2010-09-03 | 2 | -2/+6 |
| | |||||
* | Extended url_for to handle specifying which router should be used. | Piotr Sarnacki | 2010-09-03 | 7 | -80/+136 |
| | | | | | | | A few examples: url_for Blog::Engine, :posts_path url_for Blog::Engine, @post url_for Blog::Engine, :action => "main", :controller => "index" | ||||
* | Added some more tests for url generation between Engine and Application | Piotr Sarnacki | 2010-09-03 | 3 | -18/+59 |
| | |||||
* | Get rid of :skip_prefix options in routes | Piotr Sarnacki | 2010-09-03 | 3 | -15/+8 |
| | |||||
* | Refactored tests for prefix generation and added test for url generation in ↵ | Piotr Sarnacki | 2010-09-03 | 1 | -11/+32 |
| | | | | regular class with default_url_options[:script_name] set | ||||
* | New way of generating urls for Application from Engine. | Piotr Sarnacki | 2010-09-03 | 7 | -15/+30 |
| | | | | | | | | | It's based specifying application's script_name with: Rails.application.default_url_options = {:script_name => "/foo"} default_url_options method is delegated to routes. If router used to generate url differs from the router passed via env it always overwrites :script_name with this value. | ||||
* | Fix url generation for mounted Engine | Piotr Sarnacki | 2010-09-03 | 3 | -9/+117 |
| | | | | | | | | | I added integration tests for generating urls in Engine and application and tweaked Engines to fully cooparate with new router's behavior: * Rails.application now sets ORIGINAL_SCRIPT_NAME * Rails.application also sets its routes as env['action_dispatch.parent_routes'] * Engine implements responds_to? class method to respond to all the instance methods, like #routes |