aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Include all helpers from non-namespaced enginesPiotr Sarnacki2010-09-034-12/+38
|
* Set only helpers_path on inherited hook in action_controller/railtie.rb and ↵Piotr Sarnacki2010-09-035-38/+17
| | | | use helper(:all) just after that
* Added more tests for polymorphic_url with namespaced models and implemented ↵Piotr Sarnacki2010-09-032-5/+66
| | | | missing use cases
* This was used only to clear warning in ActionMailer tests, it shouldn't be ↵Piotr Sarnacki2010-09-031-5/+0
| | | | done like that
* Moved ActionMailer and ActionController railties options to inherited hookPiotr Sarnacki2010-09-035-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 namespacePiotr Sarnacki2010-09-032-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 Sarnacki2010-09-036-17/+29
| | | | ActionDispatch::Static in initializers
* We don't need to clear action_methods on inherited hook as they are cleaned ↵Piotr Sarnacki2010-09-031-5/+0
| | | | on method_added hook
* ActionMailer should not depend on ActionDispatchPiotr Sarnacki2010-09-033-3/+2
|
* Refactor RoutesProxy to avoid using _with_routes in helpersPiotr Sarnacki2010-09-033-4/+10
|
* Documented mounted helpersPiotr Sarnacki2010-09-031-0/+29
|
* Document engine_namePiotr Sarnacki2010-09-031-0/+16
|
* Added documentation for namespaced EnginePiotr Sarnacki2010-09-031-2/+34
|
* Add table_name_prefix to Engine's namespace automaticallyPiotr Sarnacki2010-09-033-1/+16
|
* Rename isolated_engine_for to namespacePiotr Sarnacki2010-09-032-5/+5
|
* Refactor ActionMailer to not use hide_actionsPiotr Sarnacki2010-09-037-69/+40
|
* Move ActionController::Railties::RoutesHelpers and ↵Piotr Sarnacki2010-09-034-22/+5
| | | | ActionMailer::Railties::RoutesHelper to AbstractController::Railties::RoutesHelpers
* Include routes helpers only for inherited classes in ActionMailerPiotr Sarnacki2010-09-035-27/+67
|
* Fix generating urls with mounted helpers in view contextPiotr Sarnacki2010-09-033-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 directoryPiotr Sarnacki2010-09-033-1/+15
|
* Include application's helpers and router helpers by default, but include ↵Piotr Sarnacki2010-09-038-4/+182
| | | | engine's ones for controllers inside isolated namespace
* For view_context we need to initialize RoutesProxy in context of controller, ↵Piotr Sarnacki2010-09-031-2/+4
| | | | not view, quick fix, I need to dig into it later
* mounted helpers should be included in ActionMailerPiotr Sarnacki2010-09-032-1/+3
|
* This is not neededPiotr Sarnacki2010-09-031-26/+0
|
* Engine's assets are now served with ActionDispatch::StaticPiotr Sarnacki2010-09-033-6/+46
|
* Modified ActionDispatch::Static to allow passing multiple rootsPiotr Sarnacki2010-09-036-21/+104
|
* Set asset_path to engine_name by defaultPiotr Sarnacki2010-09-032-14/+31
|
* Always convert railtie_name to stringPiotr Sarnacki2010-09-031-1/+1
|
* rake db:copy_migrations task, which copies railties migrations into ↵Piotr Sarnacki2010-09-032-0/+71
| | | | application's db/migrate directory
* Implemented ActiveRecord::Migrations#copy based on James Adam's ideaPiotr Sarnacki2010-09-0311-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_namePiotr Sarnacki2010-09-032-0/+18
|
* Add Rails::Railtie.railtie_name method to allow setting custom name for railtiePiotr Sarnacki2010-09-034-2/+19
|
* Added Rails.application.config.paths.db.migrate to remove hardcoded ↵Piotr Sarnacki2010-09-033-10/+15
| | | | db/migrate paths
* to_param shoul return a stringPiotr Sarnacki2010-09-031-1/+1
|
* We don't need delegating polymorphic_url and polymorphic_path anymorePiotr Sarnacki2010-09-031-10/+6
|
* Added ability to set asset_path for enginesPiotr Sarnacki2010-09-039-13/+141
|
* Ensure that Rails.application.initialize! is called only oncePiotr Sarnacki2010-09-032-0/+7
|
* Added documentation on endpoint, middeware stack and routes for EnginePiotr Sarnacki2010-09-031-0/+60
|
* We don't need that initializer in testsPiotr Sarnacki2010-09-031-4/+0
|
* Ensure that url_helpers included after application's ones have higher priorityPiotr Sarnacki2010-09-031-0/+15
|
* Add mounted_helpers to routesPiotr Sarnacki2010-09-039-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 Sarnacki2010-09-035-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_helpersPiotr Sarnacki2010-09-032-9/+4
|
* Ensure that env is always available in controllersPiotr Sarnacki2010-09-032-2/+6
|
* Extended url_for to handle specifying which router should be used.Piotr Sarnacki2010-09-037-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 ApplicationPiotr Sarnacki2010-09-033-18/+59
|
* Get rid of :skip_prefix options in routesPiotr Sarnacki2010-09-033-15/+8
|
* Refactored tests for prefix generation and added test for url generation in ↵Piotr Sarnacki2010-09-031-11/+32
| | | | regular class with default_url_options[:script_name] set
* New way of generating urls for Application from Engine.Piotr Sarnacki2010-09-037-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 EnginePiotr Sarnacki2010-09-033-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