Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | | | Merge pull request #15252 from DNNX/formatter-refactoring-2 | Rafael Mendonça França | 2014-05-22 | 1 | -1/+1 | |
|\ \ \ \ | | | | | | | | | | | Remove unnecessary `Hash#to_a` call | |||||
| * | | | | Remove unnecessary `Hash#to_a` call | Viktar Basharymau | 2014-05-22 | 1 | -1/+1 | |
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inspired by https://github.com/rails/rails/commit/931ee4186b877856b212b0085cd7bd7f6a4aea67 ```ruby 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 h = { 'x' => 'y' } stat(100) { h. each { |pair| pair } } stat(100) { h.to_a.each { |pair| pair } } __END__ 1 allocations per call 2 allocations per call ``` | |||||
* | | | | Merge pull request #15247 from DNNX/activesupport-formatter-refactoring | Rafael Mendonça França | 2014-05-22 | 1 | -1/+1 | |
|\ \ \ \ | | | | | | | | | | | Use `break` instead of `next` in AD::Journey::Formatter#match_route | |||||
| * | | | | Use `break` instead of `next` in AD::Journey::Formatter#match_route | Viktar Basharymau | 2014-05-22 | 1 | -1/+1 | |
| |/ / / | | | | | | | | | | | | | | | | | | | | | The array is sorted in descending order, so there is no point in iterating further if we met a negative item - all the rest will be negative too. | |||||
* / / / | Fix the hash key being delete from env | Rafael Mendonça França | 2014-05-22 | 1 | -1/+1 | |
|/ / / | | | | | | | | | | It was changed by mistake at c5d64b2b86aa42f57881091491ee289b3c489c7e. | |||||
* | | | Form full URI as string to be parsed in Rack::Test. | Guo Xiang Tan | 2014-05-21 | 1 | -7/+5 | |
| | | | | | | | | | | | | There are performance gains to be made by avoiding URI setter methods. | |||||
* | | | drop hash allocations during match | Aaron Patterson | 2014-05-21 | 1 | -2/+2 | |
| | | | ||||||
* | | | fewer object allocations and method calls during route match | Aaron Patterson | 2014-05-21 | 1 | -5/+5 | |
| | | | ||||||
* | | | middle variable is never used, so rm | Aaron Patterson | 2014-05-21 | 2 | -2/+2 | |
| | | | ||||||
* | | | use the existing constant rather than the hardcoded string | Aaron Patterson | 2014-05-21 | 1 | -3/+3 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so tht I don't go totally insane with THsi crazy hash driven development. why is Everything a hash? Why do people think hashes in hashes with random keys is a Good API? You can't find things or deprecate them or control access whatsoever, you just have to hope that everyone is like "oh, you want to change that? that's cool! we all know it's hashes so go for it!" The End. | |||||
* | | | remove dead code. @klass isn't used anymore | Aaron Patterson | 2014-05-21 | 1 | -1/+0 | |
| | | | ||||||
* | | | we can just use Ruby here | Aaron Patterson | 2014-05-21 | 1 | -2/+2 | |
| | | | ||||||
* | | | reuse path formatter from the non-optimized path. | Aaron Patterson | 2014-05-21 | 3 | -39/+3 | |
| | | | | | | | | | | | | | | | 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 | |||||
* | | | make variable name more clear | Aaron Patterson | 2014-05-21 | 1 | -2/+2 | |
| | | | ||||||
* | | | do not mutate parameters, let the caller do mutations | Aaron Patterson | 2014-05-21 | 2 | -4/+6 | |
| | | | ||||||
* | | | push the formatter up to the Route object | Aaron Patterson | 2014-05-21 | 2 | -4/+4 | |
| | | | ||||||
* | | | Merge pull request #15221 from laurelfan/doc-fix-redirecting | Arthur Nogueira Neves | 2014-05-21 | 1 | -4/+8 | |
|\ \ \ | | | | | | | | | fix formatting and text for ActionController::Redirecting doc | |||||
| * | | | fix formatting and text for ActionController::Redirecting doc | Laurel Fan | 2014-05-21 | 1 | -4/+8 | |
| | | | | ||||||
* | | | | Merge pull request #15213 from tgxworld/remove_redundant_code | Rafael Mendonça França | 2014-05-20 | 1 | -3/+2 | |
|\ \ \ \ | |/ / / |/| | | | Remove redundant code. | |||||
| * | | | Remove redundant code. | Guo Xiang Tan | 2014-05-20 | 1 | -3/+2 | |
| | | | | ||||||
* | | | | we don't use this parameter for anything, so rm | Aaron Patterson | 2014-05-20 | 2 | -2/+2 | |
| | | | | ||||||
* | | | | fewer string allocations per url_for | Aaron Patterson | 2014-05-20 | 1 | -7/+5 | |
| | | | | ||||||
* | | | | mutate the path string to avoid object allocations | Aaron Patterson | 2014-05-20 | 1 | -4/+4 | |
| | | | | ||||||
* | | | | push only_path conditional up | Aaron Patterson | 2014-05-20 | 1 | -18/+19 | |
| | | | | ||||||
* | | | | push arg checking up | Aaron Patterson | 2014-05-20 | 1 | -4/+4 | |
| | | | | ||||||
* | | | | fewer method calls and string garbage when there is no user/password | Aaron Patterson | 2014-05-20 | 1 | -9/+5 | |
| | | | | ||||||
* | | | | 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 | |
| | | | | ||||||
* | | | | Merge pull request #11346 from tomykaira/fix_10257 | Rafael Mendonça França | 2014-05-20 | 1 | -2/+14 | |
|\ \ \ \ | | | | | | | | | | | Check authentication scheme in Basic auth | |||||
| * | | | | Run login_procedure only when the auth_scheme is valid | tomykaira | 2013-07-08 | 1 | -7/+14 | |
| | | | | | ||||||
| * | | | | Check authentication scheme in Basic auth | tomykaira | 2013-07-07 | 1 | -1/+6 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `authenticate_with_http_basic` and its families should check the authentication schema is "Basic". Different schema, such as OAuth2 Bearer should be rejected by basic auth, but it was passing as the test shows. This fixes #10257. | |||||
* | | | | | remove dead code | Aaron Patterson | 2014-05-20 | 1 | -57/+0 | |
| | | | | | ||||||
* | | | | | cache the formatter on the path object | Aaron Patterson | 2014-05-20 | 2 | -2/+6 | |
| | | | | | ||||||
* | | | | | translate AST to a formatter before url generation | Aaron Patterson | 2014-05-20 | 2 | -1/+72 | |
| | | | | | ||||||
* | | | | | prepopulate the dispatch cache so we don't need the ThreadSafe cache. | Aaron Patterson | 2014-05-20 | 1 | -7/+9 | |
| | | | | | ||||||
* | | | | | make the each visitor top-down left-right | Aaron Patterson | 2014-05-20 | 1 | -1/+1 | |
| | | | | | ||||||
* | | | | | Merge pull request #15178 from zuhao/refactor_actionpack_respond_with_test | Yves Senn | 2014-05-20 | 1 | -0/+16 | |
|\ \ \ \ \ | | | | | | | | | | | | | Deregister csv renderer after test to prevent leak. | |||||
| * | | | | | Add ActionController::Renderers.remove. | Zuhao Wan | 2014-05-20 | 1 | -0/+16 | |
| | |/ / / | |/| | | | ||||||
* | | | | | make the AST go from left to right, rather than right to left | Aaron Patterson | 2014-05-19 | 2 | -45/+48 | |
| | | | | | ||||||
* | | | | | fix escaping in generation | Aaron Patterson | 2014-05-19 | 1 | -1/+7 | |
| | | | | | ||||||
* | | | | | Revert "Rewrite journey routes formatter for performance" | Aaron Patterson | 2014-05-19 | 1 | -28/+23 | |
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5c224de9e110763ec7a0f01f5b604bcf81f40bfb. Conflicts: actionpack/lib/action_dispatch/journey/visitors.rb 5c224de9e110763ec7a0f01f5b604bcf81f40bfb introduced a bug in the formatter. This commit includes a regression test. | |||||
* | | | | fixed a typo [ci skip] | Aida | 2014-05-17 | 1 | -1/+1 | |
| | | | | ||||||
* | | | | fixes stack level too deep exception on action named 'status' returning ↵ | Christiaan Van den Poel | 2014-05-15 | 4 | -2/+9 | |
| | | | | | | | | | | | | | | | | 'head :ok' | |||||
* | | | | Add RFC4791 MKCALENDAR method | kasper | 2014-05-15 | 1 | -1/+3 | |
| | | | | ||||||
* | | | | 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 | 2 | -0/+3 | |
| | | | | ||||||
* | | | | Merge pull request #14137 from dasch/better-fragment-cache-instrumentation | Rafael Mendonça França | 2014-05-14 | 1 | -1/+7 | |
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add controller and action name to the fragment caching instrumentation payload Conflicts: actionpack/CHANGELOG.md | |||||
| * | | | | Add controller and action name to the instrumentation payload | Daniel Schierbeck | 2014-05-10 | 1 | -1/+7 | |
| | | | | | ||||||
* | | | | | Merge pull request #15070 from ayamomiji/sse-patch | Aaron Patterson | 2014-05-14 | 1 | -1/+2 | |
|\ \ \ \ \ | | | | | | | | | | | | | Add multiple lines message support for SSE module |