Commit Graph

4998 Commits

Author SHA1 Message Date
Carlos Antonio da Silva
c915ddd386 Start cleanup of deprecations in ActionView
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-09-06 13:42:46 +02:00
Carlos Antonio da Silva
9532d746a9 Cleanup deprecations in Action Dispatch
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-09-06 13:41:12 +02:00
Carlos Antonio da Silva
11fccc5f06 Cleanup deprecation warnings in Action Controller
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-09-06 13:40:45 +02:00
José Valim
8a3461b8c1 Remove a few tests from old router that do not make sense with the new one. 2010-09-05 15:59:35 +02:00
José Valim
9757bfff9b Merge remote branch 'drogus/remove_deprecated_routes'
This merge removes the deprecated routes mapper from Rails and update its tests.
2010-09-05 15:45:12 +02:00
Santiago Pastorino
e20012b64b Make number_to_human and number_with_precision work with negatives 2010-09-05 10:21:55 -03:00
Santiago Pastorino
88dfe16d95 Fix code style a bit 2010-09-05 10:06:09 -03:00
Ben Sharpe
b80cf265be Fix number_to_human(0) exception [#5532 state:resolved]
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
2010-09-05 09:56:13 -03:00
Łukasz Strzałkowski
faba03850a Removed deprecated_mapper - we don't need it anymore 2010-09-05 13:44:39 +02:00
Piotr Sarnacki
ca3936dbd6 Ported missing functionality from Rails 2.3.x, raise error on wrong regexps in :constraints in routes 2010-09-05 13:44:38 +02:00
Piotr Sarnacki
3088b4f84f raise error on invalid HTTP methods or :head passed with :via in routes 2010-09-05 13:44:37 +02:00
Piotr Sarnacki
8958f332bb Implemented resources :foos, :except => :all option 2010-09-05 13:44:37 +02:00
Piotr Sarnacki
b3eb26a161 Removed deprecated RouteSet API, still many tests fail 2010-09-05 13:44:36 +02:00
Piotr Sarnacki
c3c1a1e148 Do not use ActionController::Base.page_cache_extension in initialize to not load more ActiveSupport than we need 2010-09-04 00:07:38 +02:00
Piotr Sarnacki
9f0a1ae14e Optimize ActionDispatch::Static 2010-09-04 00:07:34 +02:00
Piotr Sarnacki
89bd715f6b Forgot to move that line to railtie on rebase 2010-09-03 22:59:16 +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
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
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
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
f3c703a32f Refactor RoutesProxy to avoid using _with_routes in helpers 2010-09-03 22:59:12 +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
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
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
2734d3819f This is not needed 2010-09-03 22:59:10 +02:00
Piotr Sarnacki
401cd97923 Modified ActionDispatch::Static to allow passing multiple roots 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
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
6c95e0f879 Add mounted_helpers to routes
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)
2010-09-03 22:59:07 +02:00
Piotr Sarnacki
e9791bec82 Routes refactoring:
* 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
2010-09-03 22:59:07 +02:00
Piotr Sarnacki
233be6572c Ensure that env is always available in controllers 2010-09-03 22:59:06 +02:00
Piotr Sarnacki
b53efd2105 Extended url_for to handle specifying which router should be used.
A few examples:
url_for Blog::Engine, :posts_path
url_for Blog::Engine, @post
url_for Blog::Engine, :action => "main", :controller => "index"
2010-09-03 22:59:06 +02:00
Piotr Sarnacki
b697ba9fd7 Added some more tests for url generation between Engine and Application 2010-09-03 22:59:06 +02:00
Piotr Sarnacki
8a077089d9 Get rid of :skip_prefix options in routes 2010-09-03 22:59:06 +02:00
Piotr Sarnacki
eedbf87d15 New way of generating urls for Application from Engine.
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.
2010-09-03 22:59:05 +02:00
Piotr Sarnacki
451c9942bb Allow to generate Application routes inside Engine
This requires knowledge about original SCRIPT_NAME and
the parent router. It should be pass through the env
as ORIGIAL_SCRIPT_NAME and action_dispatch.parent_routes
2010-09-03 22:59:05 +02:00
Piotr Sarnacki
28016d33b0 Use env['action_dispatch.routes'] to determine if we should generate prefix or not.
This technique is here to allow using routes from Engine in Application
and vice versa. When using Engine routes inside Application it should
generate prefix based on mount point. When using Engine routes inside
Engine it should use env['SCRIPT_NAME']. In any other case it should
generate prefix as env should not be even available.
2010-09-03 22:59:05 +02:00
Piotr Sarnacki
f7af75976a require 'active_support/dependencies' in action_dispatch/middleware/stack 2010-09-03 22:59:03 +02:00
Xavier Noria
93acbf6bf3 Merge remote branch 'docrails/master' 2010-09-03 21:30:22 +02:00