aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing
Commit message (Collapse)AuthorAgeFilesLines
...
* pass a request to `matches?` so we can avoid creating excess requestsAaron Patterson2014-05-252-7/+6
|
* nothing is passed to `rack_app` anymore, so rm the paramsAaron Patterson2014-05-251-1/+1
|
* one fewer is_a checkAaron Patterson2014-05-251-4/+3
|
* Constraints#app should never return another Constraints object, so switch to ↵Aaron Patterson2014-05-251-1/+1
| | | | if statement
* eliminate dispatcher is_a checksAaron Patterson2014-05-241-8/+14
|
* push is_a?(Dispatcher) check in to one placeAaron Patterson2014-05-242-5/+10
|
* Always construct route objects with Constraint objectsAaron Patterson2014-05-243-9/+7
|
* unwrap the constraints object on initialization, eliminate loopsAaron Patterson2014-05-243-2/+11
| | | | | | | Unwrap Constraints objects. I don't actually think it's possible to pass a Constraints object to this constructor, but there were multiple places that kept testing children of this object. I *think* they were just being defensive, but I have no idea.
* Constraints contructor should always return a Constraints objectAaron Patterson2014-05-231-9/+5
| | | | I know, it's crazy.
* default value is never used, so make it requiredAaron Patterson2014-05-231-1/+1
|
* push options decomposition up so we can extractAaron Patterson2014-05-231-20/+13
|
* glob_param is never used, so rmAaron Patterson2014-05-232-9/+3
| | | | | | this also changes the constructor. We don't need to pass more options than "defaults" (whatever defaults are, ugh. probably another hash of stupid stuff).
* decouple the router object from the request classAaron Patterson2014-05-231-2/+1
|
* pass the correct custom request to the recognize methodAaron Patterson2014-05-231-1/+1
|
* pull request allocation up one frameAaron Patterson2014-05-231-1/+3
|
* stop using PARAMETERS_KEY, and use the accessor on the request objectAaron Patterson2014-05-221-1/+0
| | | | this decouples our code from the env hash a bit.
* use symbol keys for path_parametersAaron Patterson2014-05-223-5/+5
|
* middle variable is never used, so rmAaron Patterson2014-05-211-1/+1
|
* remove dead code. @klass isn't used anymoreAaron Patterson2014-05-211-1/+0
|
* reuse path formatter from the non-optimized path.Aaron Patterson2014-05-211-6/+1
| | | | | The optimized and non-optimized path share more code now without significant performance degretation
* reduce object allocationsAaron Patterson2014-05-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: x = [1,2,3,4] y = [3,2,1] def test x, y hash = {} x.zip(y) { |k,v| hash[k] = v } hash end def test2 x, y Hash[x.zip(y)] end def test3 x, y x.zip(y).each_with_object({}) { |(k,v),hash| hash[k] = v } end def stat num start = GC.stat(:total_allocated_object) num.times { yield } total_obj_count = GC.stat(:total_allocated_object) - start puts "#{total_obj_count / num} allocations per call" end stat(100) { test(x,y) } stat(100) { test2(x,y) } stat(100) { test3(x,y) } __END__ 2 allocations per call 7 allocations per call 8 allocations per call
* we don't use this parameter for anything, so rmAaron Patterson2014-05-201-1/+1
|
* fewer hash allocations when calling url_forAaron Patterson2014-05-201-9/+12
|
* fix variable names, only pass hashes to the positional args methodAaron Patterson2014-05-201-8/+10
|
* Only path requirements are relevant to optimized urlsAndrew White2014-05-151-1/+1
| | | | | The bit of URL generation that is optimized is the generation of the path so things like :host, :port, etc. are irrelevant.
* Add missing requires for require 'action_dispatch/routing'Andrew White2014-05-151-0/+2
|
* _recall should be set to a hash or not setAaron Patterson2014-05-131-2/+2
| | | | Then we can avoid nil checks
* we never call url_for with a block, so rmAaron Patterson2014-05-131-1/+0
|
* drop || test for cases that do not need itAaron Patterson2014-05-132-4/+6
|
* no need to check for presence, script names can be blankAaron Patterson2014-05-131-2/+2
|
* extend with a module then use define_methodAaron Patterson2014-05-131-7/+4
| | | | no need for redefine_method
* this method should always have a parameter passed to it, so remove the defaultAaron Patterson2014-05-131-1/+1
|
* options should always be passed to url_forAaron Patterson2014-05-131-2/+2
|
* calls with :host should still use the optimized pathAaron Patterson2014-05-131-2/+2
|
* use fewer method calls to determine the url_for optionsAaron Patterson2014-05-131-5/+4
|
* just merge instead of dup and mergeAaron Patterson2014-05-131-2/+1
|
* the :only_path option is applied by the time the helper is calledAaron Patterson2014-05-131-4/+1
|
* options already have symbolized keys, so we can avoid this callAaron Patterson2014-05-131-1/+1
|
* Get rid of unused methodCarlos Antonio da Silva2014-05-131-11/+0
| | | | It's usage has been removed in 325c9d5e5235db4b5210d9db6c863835d1ac7eed.
* Simplify merge call on polymorphic helpersCarlos Antonio da Silva2014-05-131-2/+2
|
* avoid array allocation when extracting usernames and passwordsAaron Patterson2014-05-121-1/+7
|
* Revert "reduce conditionals in url_for"Aaron Patterson2014-05-121-6/+3
| | | | This reverts commit 9df60693d77813b362fb528fc62381ac8f1eec12.
* use the helper method builder to construct helper methodsAaron Patterson2014-05-122-57/+112
|
* undo optimized calls until the builder object is finishedAaron Patterson2014-05-122-37/+20
|
* remove suffix from the handler methodsAaron Patterson2014-05-121-20/+19
|
* push list handling to the builder objectAaron Patterson2014-05-121-30/+30
|
* push string handling to the builder objectAaron Patterson2014-05-121-10/+8
|
* push model and class handling to a helper builder objectAaron Patterson2014-05-121-36/+48
|
* adding a method to handle strings using the same apiAaron Patterson2014-05-121-22/+32
|
* break each polymorphic type to it's own methodAaron Patterson2014-05-121-24/+81
|