Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | only pop records when we get an array | Aaron Patterson | 2014-05-12 | 1 | -6/+7 |
| | |||||
* | remove unnecessary array allocations | Coraline Ada Ehmke + Aaron Patterson | 2014-05-12 | 1 | -5/+1 |
| | |||||
* | simplified route method name generation | Coraline Ada Ehmke + Aaron Patterson | 2014-05-12 | 1 | -27/+17 |
| | |||||
* | small refactoring | Coraline Ada Ehmke + Aaron Patterson | 2014-05-12 | 1 | -6/+2 |
| | |||||
* | pulling helpermethods up before refactoring | Coraline Ada Ehmke + Aaron Patterson | 2014-05-12 | 1 | -20/+46 |
| | |||||
* | push all is_a tests up, always pass options to the named route | Aaron Patterson | 2014-05-12 | 1 | -28/+27 |
| | |||||
* | pull nil checks up | Aaron Patterson | 2014-05-12 | 1 | -3/+5 |
| | |||||
* | skip another Array is_a check | Aaron Patterson | 2014-05-12 | 1 | -4/+6 |
| | |||||
* | only do the Array is_a check once | Aaron Patterson | 2014-05-12 | 1 | -4/+3 |
| | |||||
* | we always convert this variable to a list, so we can remove the unconversion | Aaron Patterson | 2014-05-12 | 1 | -1/+0 |
| | |||||
* | record as a hash is not possible, so rm branch | Aaron Patterson | 2014-05-12 | 1 | -2/+0 |
| | |||||
* | stop popping in build_named_route_call | Aaron Patterson | 2014-05-12 | 1 | -4/+3 |
| | |||||
* | remove extract_record since we have extracted the list | Aaron Patterson | 2014-05-12 | 1 | -12/+1 |
| | |||||
* | always pass a list to build_named_route_call | Aaron Patterson | 2014-05-12 | 1 | -10/+19 |
| | |||||
* | add a test for passing two models to the polymorphic_url method | Aaron Patterson | 2014-05-12 | 1 | -1/+1 |
| | |||||
* | reduce conditionals in url_for | Aaron Patterson | 2014-05-12 | 1 | -3/+6 |
| | |||||
* | extract route key translation to a method and reuse it | Aaron Patterson | 2014-05-12 | 1 | -17/+14 |
| | |||||
* | make the module version quack the same as the instance | Aaron Patterson | 2014-05-12 | 1 | -3/+10 |
| | | | | this way we can stop checking respond_to on every call. | ||||
* | Hash#except is expensive and this is a hotspot, so use a dup + delete | Aaron Patterson | 2014-05-12 | 1 | -1/+2 |
| | |||||
* | Always use the provided port for protocol relative urls | Andrew White | 2014-05-11 | 1 | -0/+2 |
| | | | | | There may be situations where you need to tunnel SSL connections over port 80 so we shouldn't remove it if it has been explicitly provided. | ||||
* | ActionDispatch::Http::URL.normalize_port should not strip port for protocol ↵ | Guilherme Cavalcanti | 2014-05-11 | 1 | -2/+0 |
| | | | | relative URL. | ||||
* | Merge branch 'master' of github.com:rails/docrails | Vijay Dev | 2014-05-10 | 1 | -1/+22 |
|\ | |||||
| * | copy edits [ci skip] | Vijay Dev | 2014-05-10 | 1 | -8/+8 |
| | | |||||
| * | [ci skip] doc Http::Headers methods | schneems | 2014-05-09 | 1 | -1/+17 |
| | | |||||
| * | copy edits [ci skip] | Vijay Dev | 2014-05-08 | 1 | -2/+1 |
| | | |||||
| * | [ci skip] document ActionDispatch::HTTP::Headers | schneems | 2014-05-07 | 1 | -0/+6 |
| | | |||||
* | | skip dealing with params if none are provided | Aaron Patterson | 2014-05-09 | 1 | -4/+11 |
| | | | | | | | | | | | | | | | | | | | | | | This lets us avoid 1. A slow call to Hash#slice 2. An is_a? test 3. Extra hash allocations (from slice) 4. String allocations etc. | ||||
* | | don't mutate the options hash, so we don't have to dup | Aaron Patterson | 2014-05-09 | 1 | -4/+3 |
| | | | | | | | | avoids extra hash allocations on each call | ||||
* | | use unless and || since these options are boolean | Aaron Patterson | 2014-05-09 | 1 | -1/+1 |
| | | |||||
* | | HTTP::Headers#key? correctly converts | schneems | 2014-05-07 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously if you were looking for a given key, the header may incorrectly tell you that it did not exist even though it would return a valid value: ```ruby env = { "CONTENT_TYPE" => "text/plain" } headers = ActionDispatch::Http::Headers.new(env) headers["Content-Type"] # => "text/plain" headers.key?("Content-Type") # => false ``` This PR fixes that behavior by converting the key before checking for presence | ||||
* | | Do not use short-circuit return | Rafael Mendonça França | 2014-05-04 | 1 | -2/+3 |
| | | |||||
* | | Merge pull request #11166 from xavier/callable_constraint_verification | Rafael Mendonça França | 2014-05-04 | 1 | -0/+7 |
|\ \ | | | | | | | | | | | | | | | | | | | Callable route constraint verification Conflicts: actionpack/CHANGELOG.md | ||||
| * | | Verify that route constraints respond to the expected messages instead of ↵ | Xavier Defrang | 2013-06-28 | 1 | -0/+7 |
| | | | | | | | | | | | | silently failing to enforce the constraint | ||||
* | | | Use #include? instead of #any?, make it simpler | Akshay Vishnoi | 2014-05-03 | 1 | -1/+1 |
| | | | |||||
* | | | passing a nil in the polymorphic array is not supported. remove nils before ↵ | Aaron Patterson | 2014-05-02 | 1 | -0/+4 |
| | | | | | | | | | | | | you call the method | ||||
* | | | passing a nil should always raise an ArgumentError | Aaron Patterson | 2014-05-02 | 1 | -1/+0 |
| | | | |||||
* | | | Tiny follow up to #14915 [ci skip] | Robin Dupret | 2014-05-02 | 1 | -19/+18 |
| | | | |||||
* | | | only add the optiosn if they are not empty | Aaron Patterson | 2014-05-01 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | I think this is wrong, but it gets the build passing for now. We should always add options, but we need to make more guarantees about how the underlying url helper is called | ||||
* | | | always pass options to the _url method | Aaron Patterson | 2014-05-01 | 1 | -3/+1 |
| | | | |||||
* | | | never merge url options in to the first data hash | Aaron Patterson | 2014-05-01 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | if you want options, don't mix them with the first hash, just pass them all in with the second hash | ||||
* | | | Merge pull request #14915 from juanpastas/patch-1 | Rafael Mendonça França | 2014-05-01 | 1 | -20/+37 |
|\ \ \ | | | | | | | | | Update mapper.rb | ||||
| * | | | [skip ci] Document: required `via` option in `match` routing method. | Juan David Pastas | 2014-04-30 | 1 | -20/+37 |
| | |/ | |/| | |||||
* | | | Merge pull request #12651 from cespare/ipv6-remote-ip-fixes | Rafael Mendonça França | 2014-05-01 | 1 | -1/+1 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Make remote_ip detection properly handle private IPv6 addresses Conflicts: actionpack/CHANGELOG.md | ||||
| * | | | Make remote_ip detection properly handle private IPv6 addresses | Caleb Spare | 2013-10-26 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | Fixes #12638. | ||||
* | | | | avoid calling extract_record multiple times | Aaron Patterson | 2014-04-30 | 1 | -3/+2 |
| | | | | |||||
* | | | | eliminate conditional when sending the named route method | Aaron Patterson | 2014-04-30 | 1 | -2/+4 |
| |/ / |/| | | |||||
* | | | Fixed an issue with migrating legacy json cookies. | Godfrey Chan | 2014-04-23 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the `VerifyAndUpgradeLegacySignedMessage` assumes all incoming cookies are marshal-encoded. This is not the case when `secret_token` is used in conjunction with the `:json` or `:hybrid` serializer. In those case, when upgrading to use `secret_key_base`, this would cause a `TypeError: incompatible marshal file format` and a 500 error for the user. Fixes #14774. *Godfrey Chan* | ||||
* | | | Make URL escaping more consistent | Andrew White | 2014-04-20 | 4 | -6/+32 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Escape '%' characters in URLs - only unescaped data should be passed to URL helpers 2. Add an `escape_segment` helper to `Router::Utils` that escapes '/' characters 3. Use `escape_segment` rather than `escape_fragment` in optimized URL generation 4. Use `escape_segment` rather than `escape_path` in URL generation For point 4 there are two exceptions. Firstly, when a route uses wildcard segments (e.g. *foo) then we use `escape_path` as the value may contain '/' characters. This means that wildcard routes can't be optimized. Secondly, if a `:controller` segment is used in the path then this uses `escape_path` as the controller may be namespaced. Fixes #14629, #14636 and #14070. | ||||
* | | | Optimize URI escaping | Andrew White | 2014-04-20 | 1 | -17/+42 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The URI::Parser#escape method is a general use method that has to deal with a variety of input however our use of it is limited in scope so we can increase the performance by implementing our specific needs within ActionDispatch::Journey::Router::Utils directly. If there is no encoding required then there is no change in performance or number of objects allocated, but for each character that needs to be encoded we save five object allocations and gain a performance boost. The performance boost seen varies from 20% when there is one character to over 50% when encoding ten characters. | ||||
* | | | Always escape string passed to url helper. | edogawaconan | 2014-04-20 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it clear that anything passed with the helper must not be percent encoded. Fixes previous behavior which tricks people into believing passing non-percent-encoded will generate a proper percent-encoded path while in reality it doesn't ('%' isn't escaped). The intention is nice but the heuristic is broken. |