aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing
Commit message (Collapse)AuthorAgeFilesLines
...
* | translate action / controller to the desired objectAaron Patterson2014-05-281-12/+11
| |
* | only one nil check on the action variableAaron Patterson2014-05-281-10/+8
| |
* | change to case / when on typesAaron Patterson2014-05-281-8/+7
| |
* | only do one nil check against the controllerAaron Patterson2014-05-281-9/+9
| |
* | extract controller and action parsing to a methodAaron Patterson2014-05-281-19/+26
| |
* | we don't need the call to presence. that is my present, to you!Aaron Patterson2014-05-281-1/+1
| |
* | swtich to returning early if to responds to callAaron Patterson2014-05-281-35/+32
| |
* | return early if we have a valid controller nameAaron Patterson2014-05-281-5/+5
| |
* | trade 2 is_a? checks for a nil checkAaron Patterson2014-05-281-2/+4
| |
* | invert logic to remove nil? and exclude? checks (use ruby rather than AS ↵Aaron Patterson2014-05-281-6/+6
| | | | | | | | when possible
* | fewer blank? callsAaron Patterson2014-05-281-4/+4
| |
* | reduce action.blank? callsAaron Patterson2014-05-281-4/+6
| |
* | reduce blank? checksAaron Patterson2014-05-281-4/+9
| |
* | extract controller checks to methodsAaron Patterson2014-05-281-19/+26
| |
* | set defaults at the top so we can avoid the ||= testAaron Patterson2014-05-281-6/+9
|/
* PARAMETERS_KEY is only used in the request, so move the constant thereAaron Patterson2014-05-271-2/+0
|
* rm reset_parameters because we automatically do it from 9ca4839aAaron Patterson2014-05-271-2/+0
|
* move path_parameter encoding check to the request objectAaron Patterson2014-05-272-18/+2
|
* dispatcher doesn't need `call` anymoreAaron Patterson2014-05-271-4/+0
|
* call `serve` with the request on dispatchersAaron Patterson2014-05-271-9/+10
|
* constraints class does not need the request class anymoreAaron Patterson2014-05-271-4/+4
|
* give all endpoints a superclassAaron Patterson2014-05-274-22/+40
|
* we do not need to cache rack_appAaron Patterson2014-05-261-9/+3
|
* a redirect is not a dispatcher by definition, so eliminate testAaron Patterson2014-05-261-1/+1
|
* push is_a check up to where the Constraints object is allocatedAaron Patterson2014-05-262-6/+11
|
* pass the request object to the applicationAaron Patterson2014-05-251-3/+2
|
* 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
|