Commit Graph

5698 Commits

Author SHA1 Message Date
Xavier Noria
2f04c87855 Merge remote branch 'docrails/master' 2010-07-09 22:08:24 +02:00
Rohit Arondekar
dc364fdc59 API Docs: Fixes to the Routing docs 2010-07-07 22:15:15 -07:00
Jeremy Kemper
81f398b804 Fix setting helpers_path to a string or pathname 2010-07-07 12:03:08 -07:00
Xavier Noria
64c75d6618 Merge remote branch 'docrails/master' 2010-07-07 12:58:46 +02:00
Andrew White
b802a0d4c7 When a dynamic :controller segment is present in the path add a Regexp constraint that allow matching on multiple path segments.
Using a namespace block isn't compatible with dynamic routes so we
raise an ArgumentError if we detect a :module present in the scope.

[#5052 state:resolved]

Signed-off-by: José Valim <jose.valim@gmail.com>
2010-07-07 00:11:13 +02:00
Andrew White
f4be0041c6 Refactor handling of :only and :except options. The rules are:
1. Don't inherit when specified as an option on a resource
2. Don't push into scope when specified as an option on a resource
2. Resources pull in :only or :except options from scope
3. Either :only or :except in nested scope overwrites parent scope

[#5048 state:resolved]

Signed-off-by: José Valim <jose.valim@gmail.com>
2010-07-06 20:46:20 +02:00
José Valim
8079484b11 Recognize should also work with route is wrapped in a constraint. 2010-07-06 00:39:13 +02:00
José Valim
6671d9cdc1 RouteSet should also handle anonymous classes. 2010-07-05 21:44:49 +02:00
José Valim
a5dda97602 Define a convention for descendants and subclasses.
The former should be symmetric with ancestors and include all children. However, it should not include self since ancestors + descendants should not have duplicated. The latter is symmetric to superclass in the sense it only includes direct children.

By adopting a convention, we expect to have less conflict with other frameworks, as Datamapper. For this moment, to ensure ActiveModel::Validations can be used with Datamapper, we should always call ActiveSupport::DescendantsTracker.descendants(self) internally instead of self.descendants avoiding conflicts.
2010-07-05 13:01:27 +02:00
Patrik Stenmark
7f7480f6fc Adds tests for content negotiation change introduced in dc5300adb6
Signed-off-by: wycats <wycats@gmail.com>
2010-07-04 11:17:16 -07:00
Andrew White
aa31a255c8 Fix syntax of routing tests so they actually run
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-07-04 18:49:26 +02:00
Andrew White
c6843e2337 Refactor resource options and scoping. Resource classes are now only responsible for controlling how they are named. All other options passed to resources are pushed out to the scope.
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-07-04 13:20:48 +02:00
Wincent Colaiuta
75b32a69a1 Fixes for "router" and "routes" terminology
Commit f7ba614c2d improved the internal consistency of the different
means of accessing routes, but it introduced some problems at the level
of code comments and user-visible strings.

This commit applies fixes on three levels:

Firstly, we remove or replace grammatically invalid constructs such as
"a routes" or "a particular routes".

Secondly, we make sure that we always use "the router DSL" or "the
router syntax", because this has always been the official terminology.

Finally, we make sure that we only use "routes" when referring to the
application-specific set of routes that are defined in the
"config/routes.rb" file, we use "router" when referring on a more
abstract level to "the code in Rails used to handle routing", and we use
"routing" when we need an adjective to apply to nouns such as
"url_helpers. Again this is consistent with historical practice and
other places in the documentation.

Note that this is not a sweep over the entire codebase to ensure
consistent usage of language; it is just a revision of the changes
introduced in commit f7ba614c2d.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-07-03 22:42:31 +02:00
Andrew White
54250a5bfe Refactor recall parameter normalization [#5021 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-07-03 10:06:07 +02:00
José Valim
9e6e648732 Fix routes with :controller segment when namespaced [#5034 state:resolved] 2010-07-02 19:13:00 +02:00
Santiago Pastorino
2ef8a2b403 bump erubis version to 2.6.6 and thor version to 0.13.7
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-07-02 01:51:03 +02:00
Piotr Sarnacki
f7ba614c2d Unify routes naming by renaming router to routes
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-07-02 01:51:03 +02:00
Aaron Patterson
f8720a04d1 porting session.clear fix to master branch. [#5030 state:resolved]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-07-01 15:17:19 -07:00
Rizwan Reza
a6913bf7eb Added documentation for usage of associative resources with form_for 2010-07-01 23:07:24 +04:30
José Valim
53b34e8476 Avoid calls to Rails::Application since this is not the official API.
Your application should *always* reference your application const (as Blog::Application) and Rails.application should be used just internally.
2010-07-01 18:43:44 +02:00
José Valim
06681af518 A couple enhancements to the router:
* Allow to use the get :symbol shortcut outside resources scopes as well;

* Fix a bug where :action was not being picked from given options;

* Giving :as option inside a resource now changes just the relative name instead of the full name;
2010-06-30 12:34:15 +02:00
José Valim
ccbb3bb3d8 Clean up the logic to specify the name and path for action a bit. 2010-06-30 11:33:15 +02:00
Santiago Pastorino
7bd00fcb7f We are trying to test that & escapes here not that &amp; is being escaped, also added a cosmetic change to test_link_tag_with_query_and_no_name
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-06-29 18:01:32 -07:00
Xavier Noria
ec3bfa2ead s/escape_once/html_escape/, since html safety is the contract that now says whether something has to be escaped 2010-06-30 00:32:26 +02:00
Xavier Noria
cba1460a2f url_for no longer escapes HTML, the :escape option is also gone
Rationale: url_for is just a path/URL generator, it is the responsability of the caller to escape conveniently HTML needs it, JavaScript needs different escaping, a text mail needs no escaping at all, etc.
2010-06-30 00:23:13 +02:00
wycats
b1cc63c10d _snowman CHANGELOG (dobry pies) 2010-06-29 12:23:11 -07:00
Jeremy Kemper
7ea85ff516 Revert "Revert "Name compiled render methods". This caused several failures on AP test suite for 1.9.2."
This reverts commit 9013227e00.

minitest was 'running' compiled templates beginning with test!
2010-06-29 09:22:53 -07:00
José Valim
caab176116 Rename _snowman_ to _snowman to be in sync with _method and _csrf_token. 2010-06-29 18:02:39 +02:00
José Valim
9013227e00 Revert "Name compiled render methods". This caused several failures on AP test suite for 1.9.2.
This reverts commit 2c4f8aae5c.
2010-06-29 10:54:07 +02:00
Jeremy Kemper
f8011e67b0 Use caller for helpers_dir deprecation warnings 2010-06-28 14:48:44 -07:00
Jeremy Kemper
b3318bd937 Slice new buffer from beginning of old buffer to skip encoding special case 2010-06-28 14:46:23 -07:00
Jeremy Kemper
2c4f8aae5c Name compiled render methods 2010-06-28 14:46:23 -07:00
Jeremy Kemper
198ec03f52 returning -> tap 2010-06-28 14:46:23 -07:00
Jeremy Kemper
ec18719b81 ETag: use body instead of @body since the method will always return a string 2010-06-28 14:46:22 -07:00
José Valim
6dfa8d8e95 Tidy up valid conditions in router a bit. 2010-06-28 16:57:14 +02:00
Andrew White
02a1a4edc8 Add :controller and :action to the list of valid conditions
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-28 16:51:39 +02:00
Andrew White
0b6ce34223 Restores the escaping of urls generated from hashes. [#4765 state:resolved]
HTML specifications recommend the escaping of urls in web pages,
which url_for does by default for string urls and consquently
urls generated by path helpers as these return strings.

Hashes passed to url_for are not escaped by default and this
commit reverses this default so that they are escaped.

Undoes the changes of this commit:
1b3195b63c

Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-28 15:35:38 +02:00
Andrew White
e717631a84 Merge :constraints from scope into resource options [#2694 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-28 14:22:35 +02:00
rohit
ccb21f20d8 Convert instance_variables to symbols before excluding internal vars [#4965 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-28 13:27:06 +02:00
Andrew White
19ccd4628c Remove invalid conditions from route [#4989 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-28 12:25:19 +02:00
José Valim
6d04fa6dc4 Deprecate the old router DSL. Since it is still used intensively across ActionPack test suite, patches that translates Rails internal tests to the new router DSL are welcome (note though that a few tests shouldn't be translated since they are testing exactly the old mapper API, like the ones in actionpack/test/controller/resource_test.rb and actionpack/test/controller/routing_test.rb) 2010-06-28 12:23:41 +02:00
Bruno Michel
2002e5877e Strip_tags never ending attribute should not raise a TypeError [#4870 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-28 11:40:27 +02:00
José Valim
dd8b7417a9 Update CHANGELOGs. 2010-06-28 11:37:14 +02:00
wycats
6fe424aeca Small typo 2010-06-27 21:50:33 -07:00
wycats
25215d7285 Fix several known web encoding issues:
* Specify accept-charset on all forms. All recent browsers,
  as well as IE5+, will use the encoding specified for form
  parameters
* Unfortunately, IE5+ will not look at accept-charset unless
  at least one character in the form's values is not in the
  page's charset. Since the user can override the default
  charset (which Rails sets to UTF-8), we provide a hidden
  input containing a unicode character, forcing IE to look
  at the accept-charset.
* Now that the vast majority of web input is UTF-8, we set
  the inbound parameters to UTF-8. This will eliminate many
  cases of incompatible encodings between ASCII-8BIT and
  UTF-8.
* You can safely ignore params[:_snowman_]

TODO:

* Validate inbound text to confirm it is UTF-8
* Combine the whole_form implementations in form_helper_test
  and form_tag_helper_test
2010-06-27 21:13:55 -07:00
Jeremy Kemper
f3bb185b03 Upgrade to Rack 1.2.1 2010-06-27 17:55:23 -07:00
Jeremy Kemper
6549291901 Vendor unreleased rack-mount 0.6.6.pre dependency 2010-06-27 16:28:04 -07:00
Santiago Pastorino
3ab296fd59 AV::logger returns AC::logger if it's defined, workaround meanwhile AV doesn't have it's own logger
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-28 01:26:17 +02:00
Santiago Pastorino
824da60ae8 Move Rails module to abstract_unit to make test in isolation work
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-28 01:26:07 +02:00
Michael Lovitt
ebee77a28a Fixed that an ArgumentError is thrown when request.session_options[:id] is read in the following scenario: when the cookie store is used, and the session contains a serialized object of an unloaded class, and no session data accesses have occurred yet. Pushed the stale_session_check responsibility out of the SessionHash and down into the session store, closer to where the deserialization actually occurs. Added some test coverage for this case and others related to deserialization of unloaded types.
[#4938]

Signed-off-by: José Valim <jose.valim@gmail.com>
2010-06-27 22:39:06 +02:00