aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #15252 from DNNX/formatter-refactoring-2Rafael Mendonça França2014-05-221-1/+1
|\ | | | | Remove unnecessary `Hash#to_a` call
| * Remove unnecessary `Hash#to_a` callViktar Basharymau2014-05-221-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-refactoringRafael Mendonça França2014-05-221-1/+1
|\ \ | | | | | | Use `break` instead of `next` in AD::Journey::Formatter#match_route
| * | Use `break` instead of `next` in AD::Journey::Formatter#match_routeViktar Basharymau2014-05-221-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 envRafael Mendonça França2014-05-221-1/+1
|/ | | | It was changed by mistake at c5d64b2b86aa42f57881091491ee289b3c489c7e.
* Form full URI as string to be parsed in Rack::Test.Guo Xiang Tan2014-05-211-7/+5
| | | | There are performance gains to be made by avoiding URI setter methods.
* drop hash allocations during matchAaron Patterson2014-05-211-2/+2
|
* fewer object allocations and method calls during route matchAaron Patterson2014-05-211-5/+5
|
* middle variable is never used, so rmAaron Patterson2014-05-212-2/+2
|
* use the existing constant rather than the hardcoded stringAaron Patterson2014-05-211-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 anymoreAaron Patterson2014-05-211-1/+0
|
* we can just use Ruby hereAaron Patterson2014-05-211-2/+2
|
* reuse path formatter from the non-optimized path.Aaron Patterson2014-05-213-39/+3
| | | | | 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
* make variable name more clearAaron Patterson2014-05-211-2/+2
|
* do not mutate parameters, let the caller do mutationsAaron Patterson2014-05-212-4/+6
|
* push the formatter up to the Route objectAaron Patterson2014-05-212-4/+4
|
* Merge pull request #15221 from laurelfan/doc-fix-redirectingArthur Nogueira Neves2014-05-211-4/+8
|\ | | | | fix formatting and text for ActionController::Redirecting doc
| * fix formatting and text for ActionController::Redirecting docLaurel Fan2014-05-211-4/+8
| |
* | Merge pull request #15213 from tgxworld/remove_redundant_codeRafael Mendonça França2014-05-201-3/+2
|\ \ | |/ |/| Remove redundant code.
| * Remove redundant code.Guo Xiang Tan2014-05-201-3/+2
| |
* | we don't use this parameter for anything, so rmAaron Patterson2014-05-202-2/+2
| |
* | fewer string allocations per url_forAaron Patterson2014-05-201-7/+5
| |
* | mutate the path string to avoid object allocationsAaron Patterson2014-05-201-4/+4
| |
* | push only_path conditional upAaron Patterson2014-05-201-18/+19
| |
* | push arg checking upAaron Patterson2014-05-201-4/+4
| |
* | fewer method calls and string garbage when there is no user/passwordAaron Patterson2014-05-201-9/+5
| |
* | 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
| |
* | Merge pull request #11346 from tomykaira/fix_10257Rafael Mendonça França2014-05-201-2/+14
|\ \ | | | | | | Check authentication scheme in Basic auth
| * | Run login_procedure only when the auth_scheme is validtomykaira2013-07-081-7/+14
| | |
| * | Check authentication scheme in Basic authtomykaira2013-07-071-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 codeAaron Patterson2014-05-201-57/+0
| | |
* | | cache the formatter on the path objectAaron Patterson2014-05-202-2/+6
| | |
* | | translate AST to a formatter before url generationAaron Patterson2014-05-202-1/+72
| | |
* | | prepopulate the dispatch cache so we don't need the ThreadSafe cache.Aaron Patterson2014-05-201-7/+9
| | |
* | | make the each visitor top-down left-rightAaron Patterson2014-05-201-1/+1
| | |
* | | Merge pull request #15178 from zuhao/refactor_actionpack_respond_with_testYves Senn2014-05-201-0/+16
|\ \ \ | | | | | | | | Deregister csv renderer after test to prevent leak.
| * | | Add ActionController::Renderers.remove.Zuhao Wan2014-05-201-0/+16
| | |/ | |/|
* | | make the AST go from left to right, rather than right to leftAaron Patterson2014-05-192-45/+48
| | |
* | | fix escaping in generationAaron Patterson2014-05-191-1/+7
| | |
* | | Revert "Rewrite journey routes formatter for performance"Aaron Patterson2014-05-191-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]Aida2014-05-171-1/+1
| |
* | fixes stack level too deep exception on action named 'status' returning ↵Christiaan Van den Poel2014-05-154-2/+9
| | | | | | | | 'head :ok'
* | Add RFC4791 MKCALENDAR methodkasper2014-05-151-1/+3
| |
* | 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-152-0/+3
| |
* | Merge pull request #14137 from dasch/better-fragment-cache-instrumentationRafael Mendonça França2014-05-141-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 payloadDaniel Schierbeck2014-05-101-1/+7
| | |
* | | Merge pull request #15070 from ayamomiji/sse-patchAaron Patterson2014-05-141-1/+2
|\ \ \ | | | | | | | | Add multiple lines message support for SSE module