Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | PARAMETERS_KEY is only used in the request, so move the constant there | Aaron Patterson | 2014-05-27 | 1 | -2/+0 |
| | |||||
* | rm reset_parameters because we automatically do it from 9ca4839a | Aaron Patterson | 2014-05-27 | 1 | -2/+0 |
| | |||||
* | move path_parameter encoding check to the request object | Aaron Patterson | 2014-05-27 | 2 | -18/+2 |
| | |||||
* | dispatcher doesn't need `call` anymore | Aaron Patterson | 2014-05-27 | 1 | -4/+0 |
| | |||||
* | call `serve` with the request on dispatchers | Aaron Patterson | 2014-05-27 | 1 | -9/+10 |
| | |||||
* | constraints class does not need the request class anymore | Aaron Patterson | 2014-05-27 | 1 | -4/+4 |
| | |||||
* | give all endpoints a superclass | Aaron Patterson | 2014-05-27 | 4 | -22/+40 |
| | |||||
* | we do not need to cache rack_app | Aaron Patterson | 2014-05-26 | 1 | -9/+3 |
| | |||||
* | a redirect is not a dispatcher by definition, so eliminate test | Aaron Patterson | 2014-05-26 | 1 | -1/+1 |
| | |||||
* | push is_a check up to where the Constraints object is allocated | Aaron Patterson | 2014-05-26 | 2 | -6/+11 |
| | |||||
* | pass the request object to the application | Aaron Patterson | 2014-05-25 | 1 | -3/+2 |
| | |||||
* | pass a request to `matches?` so we can avoid creating excess requests | Aaron Patterson | 2014-05-25 | 2 | -7/+6 |
| | |||||
* | nothing is passed to `rack_app` anymore, so rm the params | Aaron Patterson | 2014-05-25 | 1 | -1/+1 |
| | |||||
* | one fewer is_a check | Aaron Patterson | 2014-05-25 | 1 | -4/+3 |
| | |||||
* | Constraints#app should never return another Constraints object, so switch to ↵ | Aaron Patterson | 2014-05-25 | 1 | -1/+1 |
| | | | | if statement | ||||
* | eliminate dispatcher is_a checks | Aaron Patterson | 2014-05-24 | 1 | -8/+14 |
| | |||||
* | push is_a?(Dispatcher) check in to one place | Aaron Patterson | 2014-05-24 | 2 | -5/+10 |
| | |||||
* | Always construct route objects with Constraint objects | Aaron Patterson | 2014-05-24 | 3 | -9/+7 |
| | |||||
* | unwrap the constraints object on initialization, eliminate loops | Aaron Patterson | 2014-05-24 | 3 | -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 object | Aaron Patterson | 2014-05-23 | 1 | -9/+5 |
| | | | | I know, it's crazy. | ||||
* | default value is never used, so make it required | Aaron Patterson | 2014-05-23 | 1 | -1/+1 |
| | |||||
* | push options decomposition up so we can extract | Aaron Patterson | 2014-05-23 | 1 | -20/+13 |
| | |||||
* | glob_param is never used, so rm | Aaron Patterson | 2014-05-23 | 2 | -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 class | Aaron Patterson | 2014-05-23 | 1 | -2/+1 |
| | |||||
* | pass the correct custom request to the recognize method | Aaron Patterson | 2014-05-23 | 1 | -1/+1 |
| | |||||
* | pull request allocation up one frame | Aaron Patterson | 2014-05-23 | 1 | -1/+3 |
| | |||||
* | stop using PARAMETERS_KEY, and use the accessor on the request object | Aaron Patterson | 2014-05-22 | 1 | -1/+0 |
| | | | | this decouples our code from the env hash a bit. | ||||
* | use symbol keys for path_parameters | Aaron Patterson | 2014-05-22 | 3 | -5/+5 |
| | |||||
* | middle variable is never used, so rm | Aaron Patterson | 2014-05-21 | 1 | -1/+1 |
| | |||||
* | remove dead code. @klass isn't used anymore | Aaron Patterson | 2014-05-21 | 1 | -1/+0 |
| | |||||
* | reuse path formatter from the non-optimized path. | Aaron Patterson | 2014-05-21 | 1 | -6/+1 |
| | | | | | The optimized and non-optimized path share more code now without significant performance degretation | ||||
* | reduce object allocations | Aaron Patterson | 2014-05-21 | 1 | -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 rm | Aaron Patterson | 2014-05-20 | 1 | -1/+1 |
| | |||||
* | fewer hash allocations when calling url_for | Aaron Patterson | 2014-05-20 | 1 | -9/+12 |
| | |||||
* | fix variable names, only pass hashes to the positional args method | Aaron Patterson | 2014-05-20 | 1 | -8/+10 |
| | |||||
* | Only path requirements are relevant to optimized urls | Andrew White | 2014-05-15 | 1 | -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 White | 2014-05-15 | 1 | -0/+2 |
| | |||||
* | _recall should be set to a hash or not set | Aaron Patterson | 2014-05-13 | 1 | -2/+2 |
| | | | | Then we can avoid nil checks | ||||
* | we never call url_for with a block, so rm | Aaron Patterson | 2014-05-13 | 1 | -1/+0 |
| | |||||
* | drop || test for cases that do not need it | Aaron Patterson | 2014-05-13 | 2 | -4/+6 |
| | |||||
* | no need to check for presence, script names can be blank | Aaron Patterson | 2014-05-13 | 1 | -2/+2 |
| | |||||
* | extend with a module then use define_method | Aaron Patterson | 2014-05-13 | 1 | -7/+4 |
| | | | | no need for redefine_method | ||||
* | this method should always have a parameter passed to it, so remove the default | Aaron Patterson | 2014-05-13 | 1 | -1/+1 |
| | |||||
* | options should always be passed to url_for | Aaron Patterson | 2014-05-13 | 1 | -2/+2 |
| | |||||
* | calls with :host should still use the optimized path | Aaron Patterson | 2014-05-13 | 1 | -2/+2 |
| | |||||
* | use fewer method calls to determine the url_for options | Aaron Patterson | 2014-05-13 | 1 | -5/+4 |
| | |||||
* | just merge instead of dup and merge | Aaron Patterson | 2014-05-13 | 1 | -2/+1 |
| | |||||
* | the :only_path option is applied by the time the helper is called | Aaron Patterson | 2014-05-13 | 1 | -4/+1 |
| | |||||
* | options already have symbolized keys, so we can avoid this call | Aaron Patterson | 2014-05-13 | 1 | -1/+1 |
| | |||||
* | Get rid of unused method | Carlos Antonio da Silva | 2014-05-13 | 1 | -11/+0 |
| | | | | It's usage has been removed in 325c9d5e5235db4b5210d9db6c863835d1ac7eed. |