aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | replace apostrophe with backquote for matching [ci skip]Anton Kalyaev2013-05-031-2/+2
| | | | |
| * | | | document String#to_time exceptionVipul A M2013-05-021-0/+1
| | | | |
* | | | | Replace multi_json with jsonErik Michaels-Ober2013-05-113-45/+18
| | | | |
* | | | | Give credits to all the envolved people [ci skip]Rafael Mendonça França2013-05-101-1/+1
| | | | |
* | | | | Merge pull request #10534 from cmaruz/masterRafael Mendonça França2013-05-103-3/+12
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Escape of U+2028 and U+2029 in the JSON Encoder Conflicts: activesupport/lib/active_support/json/encoding.rb
| * | | | | Added escaping of U+2028 and U+2029 inside the json encoder.Mario Caropreso2013-05-093-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U+2028 and U+2029 are allowed inside strings in JSON (as all literal Unicode characters) but JavaScript defines them as newline seperators. Because no literal newlines are allowed in a string, this causes a ParseError in the browser. We work around this issue by replacing them with the escaped version. The resulting JSON is still valid and can be parsed in the browser. This commit has been coauthored with Viktor Kelemen @yikulju
* | | | | | Fix syntax error on Ruby 2.0Rafael Mendonça França2013-05-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Ruby 2.0 is UTF-8 by default we need to explictly say that the encoding of this file is US-ASCII
* | | | | | Merge pull request #10057 from zackham/patch-1Rafael Mendonça França2013-05-101-2/+4
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | Escape multibyte line terminators in JSON encoding
| * | | | | Escape multibyte line terminators in JSON encodingzackham2013-04-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, json/encoding respects the JSON spec (as it should) which disallows \n and \r inside strings, escaping them as expected. Unfortunately, ECMA-262 (Javascript) disallows not only \n and \r in strings, but "Line Terminators" which includes U+2028 and U+2029. See here: http://bclary.com/2004/11/07/#a-7.3 This pull request adds U+2028 and U+2029 to be escaped. # Why?  It's very common to see something like this in a Rails template: <script type="text/javascript">  var posts = <%= @posts.to_json %>; </script> If U+2028 or U+2029 are part of any attributes output in the to_json call, you will end up with an exception. In Chrome: Uncaught SyntaxError: Unexpected token ILLEGAL  # Why not? This is JSON encoding, and the JSON spec is specific about how to  encode strings. U+2028 and U+2029 don't get special treatment. Just trying to start a discussion... what do you do in your apps to deal with this? Is there a convention I'm missing?
* | | | | | Merge pull request #10535 from vipulnsward/remove_varCarlos Antonio da Silva2013-05-091-1/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | remove redundant var
| * | | | | | remove redundant varVipul A M2013-05-091-1/+0
| | | | | | |
* | | | | | | Merge pull request #10531 from waseem/refactor_requireCarlos Antonio da Silva2013-05-091-4/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Require different core extensions correctly.
| * | | | | | | Require different core extensions correctly.Waseem Ahmad2013-05-091-4/+4
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The begin rescue block is specifically to catch LoadError while loading i18n gem. Other core extensions, under active support, should be required outside of the begin rescue block.
* / / / / / / rails -> Rails [ci skip]Prathamesh Sonpatki2013-05-092-2/+2
|/ / / / / /
* | | | | | use public send on the scope parametersAaron Patterson2013-05-081-1/+1
| | | | | |
* | | | | | add test for object conditional with scopeAaron Patterson2013-05-081-0/+19
| | | | | |
* | | | | | using strings as scopes is not used anywhere, so remove itAaron Patterson2013-05-081-1/+1
| | | | | |
* | | | | | adding a class conditional testAaron Patterson2013-05-081-0/+12
| | | | | |
* | | | | | adding tests for lambdas as conditionsAaron Patterson2013-05-082-1/+41
| |/ / / / |/| | | |
* | | | | separate identification computationAaron Patterson2013-05-081-24/+18
| | | | |
* | | | | separate filters from source codeAaron Patterson2013-05-081-20/+31
| | | | |
* | | | | if the callbacks are not the same class, they cannot be duplicatesAaron Patterson2013-05-081-2/+6
| | | | |
* | | | | fix object comparison caseAaron Patterson2013-05-081-1/+5
| | | | |
* | | | | polymorphic comparison operatorAaron Patterson2013-05-081-11/+24
| | | | |
* | | | | we need to indicate the type of callbackAaron Patterson2013-05-081-2/+2
| | | | |
* | | | | Merge pull request #10355 from burke/masterJeremy Kemper2013-05-081-39/+19
|\ \ \ \ \ | | | | | | | | | | | | Use Ruby's native Encoding functionality to implement `tidy_bytes`
| * | | | | Use ruby's Encoding support for tidy_bytesBurke Libbey2013-05-081-39/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation was quite slow. This leverages some of the transcoding abilities built into Ruby 1.9 instead. It is roughly 96% faster. The roundtrip through UTF_8_MAC here is because ruby won't let you transcode from UTF_8 to UTF_8. I chose the closest encoding I could find as an intermediate.
* | | | | | adding more tests around callback inconsistenciesAaron Patterson2013-05-081-5/+47
| | | | | |
* | | | | | refactor tests for more pointsAaron Patterson2013-05-081-4/+5
| | | | | |
* | | | | | adding test to demonstrate inconsistencies in the AS::Callbacks apiAaron Patterson2013-05-081-0/+41
|/ / / / /
* | | | | dependency ActiveSupport::DeprecationTomohiko Himura2013-05-091-0/+2
| | | | |
* | | | | Fix Typo existant -> existent [ci skip]Prathamesh Sonpatki2013-05-081-1/+1
| | | | |
* | | | | add changelog entry for fix-10502-skip-object-filterSean Walbran2013-05-071-0/+5
| | | | |
* | | | | fix issue #10502, do not recompute method name for already-stringified ↵Sean Walbran2013-05-072-1/+23
| | | | | | | | | | | | | | | | | | | | object filter
* | | | | Merge pull request #10234 from dasch/dasch/fetch-multiRafael Mendonça França2013-05-063-1/+61
|\ \ \ \ \ | |_|_|_|/ |/| | | | Allow fetching multiple values from the cache at once
| * | | | Allow fetching multiple values from the cache at onceDaniel Schierbeck2013-05-063-1/+61
| | | | | | | | | | | | | | | | | | | | | | | | | Add a simple API for fetching a list of entries from the cache, where any missing entries are computed by a supplied block.
* | | | | Merge pull request #10453 from vipulnsward/destructive_sortJeremy Kemper2013-05-051-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Speed up Hash#to_param by switching from #sort to #sort!
| * | | | | use destructive sort on array in Hash#to_param for performance gains.Vipul A M2013-05-051-1/+1
| |/ / / / | | | | | | | | | | | | | | | Check https://gist.github.com/vipulnsward/6aad158c06a22f931a71 to see the gains.
* | | | | use nokogirisax as a backendAnton Kalyaev2013-05-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Most likely someone just forgot to change it during copying and pasting test cases from nokigiri engine test.
* | | | | Fixed bad tests to clean up after themselves.Ryan Davis2013-05-034-6/+27
| | | | |
* | | | | Squashed commit of the following:Aaron Patterson2013-05-0316-172/+7
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 2683de5da85135e8d9fe48593ff6167db9d64b18 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:29:20 2013 -0700 cannot support infinite ranges right now commit cebb6acef2c3957f975f6db4afd849e535126253 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:26:12 2013 -0700 reverting infinity comparison commit 385f7e6b4efd1bf9b89e8d607fcb13e5b03737ea Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:23:28 2013 -0700 Revert "Added ability to compare date/time with infinity" This reverts commit 38f28dca3aa16efd6cc3af6453f2e6b9e9655ec1. Conflicts: activesupport/CHANGELOG.md activesupport/lib/active_support/core_ext/numeric/infinite_comparable.rb activesupport/test/core_ext/date_ext_test.rb activesupport/test/core_ext/date_time_ext_test.rb activesupport/test/core_ext/numeric_ext_test.rb activesupport/test/core_ext/time_ext_test.rb activesupport/test/core_ext/time_with_zone_test.rb commit 0d799a188dc12b18267fc8421675729917610047 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:18:53 2013 -0700 Revert "Refactor infinite comparable definition a bit" This reverts commit dd3360e05e4909f2f0c74a624cccc2def688f828. commit 42dec90e49745bbfae546f0560b8783f6b48b074 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:18:47 2013 -0700 Revert "Require 'active_support/core_ext/module/aliasing' in the infinite_comparable module" This reverts commit 7003e71c13c53ec3d34250560fbf80b8381df693.
* | | | Merge pull request #10413 from vipulnsward/change_groupingCarlos Antonio da Silva2013-05-031-1/+1
|\ \ \ \ | | | | | | | | | | Use faster Array.new instead of []*padding
| * | | | Use faster Array.new instead of []*paddingVipul A M2013-05-021-1/+1
| | |/ / | |/| |
* | | | Revert "Merge pull request #10433 from ↵Jon Leighton2013-05-031-33/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wangjohn/making_callbacks_more_performant" This reverts commit 09751fdc847c25237891a8fcb0c2312e39bbe86d, reversing changes made to 6a5ab08d21c4284a05f5e34484b18a91d4e5c50c. This change caused a failure in actionpack/test/abstract/callbacks_test.rb.
* | | | Work around change in how MiniTest detects SIGINFOJon Leighton2013-05-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MiniTest 4.7.3 detects the presence of SIGINFO and stores the answer in a constant. It seems that MiniTest 4.7.4 changes this, and instead relies on an info_signal method being implemented on the runner object. In ActiveSupport::Testing::Isolation, we use ProxyTestResult to stand in for the runner object. This object implements `method_missing`, and as such its #info_signal method has a truthy return value. This results in MiniTest trying to install the SIGINFO handler on platforms where SIGINFO does not exists. To fix, I am simply defining an explicit ProxyTestResult#info_signal method.
* | | | Improving the performance of callbacks by keeping a hash of thewangjohn2013-05-021-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | callbacks in the CallbackChain, so you don't have to iterate over all callbacks when checking for duplicates. Benchmark results when the tests in activerecord/test/cases/associations_test.rb were run with and without the change: == On master (when scanning all of the callbacks): --------------------------------------------------------- % cumulative self self total time seconds seconds calls ms/call ms/call name --------------------------------------------------------- 1.85 9.26 0.82 18412 0.04 0.05 ActiveSupport::Callbacks::Callback#matches? 1.22 12.32 0.54 18412 0.03 0.08 ActiveSupport::Callbacks::Callback#duplicates? 0.93 14.61 0.41 19600 0.02 0.21 ActiveSupport::Callbacks::CallbackChain#remove_duplicates Finished tests in 1.217065s, 30.4010 tests/s, 53.4072 assertions/s. --------------------------------------------------------- == On my branch (when using a hash to check callback duplication): --------------------------------------------------------- % cumulative self self total time seconds seconds calls ms/call ms/call name --------------------------------------------------------- 0.15 29.63 0.06 1188 0.05 0.72 ActiveSupport::Callbacks::CallbackChain#handle_duplicates 0.00 40.50 0.00 84 0.00 0.12 ActiveSupport::Callbacks::Callback#matches? 0.00 40.50 0.00 84 0.00 0.12 ActiveSupport::Callbacks::Callback#duplicates? 0.00 40.50 0.00 91 0.00 0.22 ActiveSupport::Callbacks::CallbackChain#scan_and_remove_duplicates Finished tests in 1.117757s, 33.1020 tests/s, 58.1522 assertions/s. ---------------------------------------------------------
* | | | Merge pull request #10412 from vipulnsward/fix_callback_test_typoCarlos Antonio da Silva2013-05-021-1/+1
|\ \ \ \ | | | | | | | | | | Fix typo in test
| * | | | Fix typo in testVipul A M2013-05-021-1/+1
| |/ / /
* | | | Fixes Dependency bug in Active SupportTomohiko Himura2013-05-023-0/+3
| | | | | | | | | | | | | | | | DateTime defined in date.rb
* | | | Fix failures in AS with minitest 4.7.4Carlos Antonio da Silva2013-05-011-0/+3
| | | |