aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fixes interpolation on SafeBufferJulien Letessier2013-12-141-7/+12
| | | | | | | | | Interpolation was untested and did not work with hash arguments. Adds - support for interpolation with hash argument - tests for the above - tests for safe/unsafe interpolation
* Perf: save ~9% of object allocations on heavy requests.Jeremy Kemper2013-12-121-2/+5
| | | | | | | | | | | | | The per-thread registry is keyed on the class name, and each request for the class name returns a new string. This is in the hot path for a lot of Active Record behavior, so we easily accumulate thousands of repeated strings. To fix, we simply cache the key when the class is first extended with the module. TODO: Eliminate this module. The per-thread instance concept is common, but this technique confuses and obfuscates.
* Merge pull request #13229 from vipulnsward/fix-10635-testsRafael Mendonça França2013-12-121-2/+3
|\ | | | | Fix test-error introduced by #10635.
| * PR #10635 introduces rescue from ArgumentError thrown by ↵Vipul A M2013-12-121-2/+3
| | | | | | | | | | | | | | | | `Base64.strict_decode64`. This broke natural order of things for `StaleSessionCheck#stale_session_check!` which tried auto_loading a class based on `ArgumentError` message , and later retrying the `Marshal#load` of class, successfully allowing auto_loading. This PR tries to fix this behavior by forwarding `ArgumentError` 's not raised by `Base64.strict_decode64` , as is, ahead to `StaleSessionCheck#stale_session_check!`
* | Copy-edit the parent commitRafael Mendonça França2013-12-121-6/+8
| |
* | Merge pull request #13268 from aayushkhandelwal11/masterRafael Mendonça França2013-12-121-22/+16
|\ \ | | | | | | | | | Moving the common code of increment and decrement of cache file store in...
| * | Moving the common code of increment and decrement of cache file store into ↵Aayush khandelwal2013-12-121-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | seprate function Removing the double checking for the value of id simplifying code for checking conditional code for key Removing the default values for parameters removing reduntant code and asiigning value of id in local variable removing wrongly added line break[ci ckip] reverting code
* | | Merge pull request #13287 from aayushkhandelwal11/typo_rectifiedYves Senn2013-12-111-3/+3
|\ \ \ | | | | | | | | typos rectified lifecycle => life cycle
| * | | typos rectified lifecycle => life cycleAayush khandelwal2013-12-121-3/+3
| |/ /
* | | JSON: speed up date/time encodingJeremy Kemper2013-12-111-24/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Comparing dates & times with other objects using #== is slow. Internally, it hits #<=> which calls #to_datetime on objects that don't respond to it, so we incur the cost of raising an exception with a possibly-deep backtrace. Cost of #jsonify on a Time object: Calculating ------------------------------------- old 3644 i/100ms new 12652 i/100ms ------------------------------------------------- old 43373.8 (±3.5%) i/s - 218640 in 5.047017s new 173437.6 (±5.2%) i/s - 872988 in 5.047747s
* | | Merge pull request #13284 from aayushkhandelwal11/typos_correctedGodfrey Chan2013-12-111-1/+1
|\ \ \ | | | | | | | | s/everytime/every time/
| * | | typos rectified [ci skip]Aayush khandelwal2013-12-121-1/+1
| |/ /
* | | Nodoc missing number helper classes in AS [ci skip]Carlos Antonio da Silva2013-12-113-4/+2
| | | | | | | | | | | | These classes are not meant to be public.
* | | typo rectified [skip ci]Aayush khandelwal2013-12-112-2/+2
|/ /
* | Merge pull request #13260 from arunagw/using-parallelize_meAaron Patterson2013-12-101-6/+3
|\ \ | | | | | | Using parallelize_me! to parallelize isolated test
| * | Using parallelize_me! to parallelize isolated testArun Agrawal2013-12-101-6/+3
| |/ | | | | | | | | As ParallelEach is no more available related commit ec00442c10cb90796909e876fb1cc557ed7518bd
* | Replace with gsub! in ActiveSupport::Inflector.Elben Shira2013-12-101-1/+2
| |
* | make `collect_deprecations` available.Yves Senn2013-12-101-11/+10
| | | | | | | | | | | | | | | | | | | | There are circumstances where the capabilities of `assert_deprecated` and `assert_not_deprecated` are not enough. For example if a ccertain call-path raises two deprecations but should only raise a single one. This module is still :nodoc and intented for internal use. /cc @rafaelfranca
* | doc: date/conversions.rb should talk about date format not time format.Yves Senn2013-12-101-2/+2
|/ | | | | | Closes #13245. [ci skip]
* Merge pull request #13213 from arunagw/aa-minitest-version-fixAaron Patterson2013-12-061-1/+1
|\ | | | | Minitest upgrade broke build
| * Minitest upgrade broke buildArun Agrawal2013-12-061-1/+1
| | | | | | | | | | | | https://github.com/seattlerb/minitest/commit/34760e3b268bc1bb4ac5fe1a44ef1ff0a2f9bd4d This PR should fix build
* | better error message for constants autoloaded from anonymous modules [fixes ↵Xavier Noria2013-12-061-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #13204] load_missing_constant is a private method that basically plays the role of const_missing. This method has an error condition that is surprising: it raises if the class or module already has the missing constant. How is it possible that if the class of module has the constant Ruby has called const_missing in the first place? The answer is that the from_mod argument is self except for anonymous modules, because const_missing passes down Object in such case (see the comment in the source code of the patch for the rationale). But then, it is better to pass down Object *if Object is also missing the constant* and otherwise err with an informative message right away.
* | Merge pull request #10635 from vipulnsward/change_to_strictJeremy Kemper2013-12-062-4/+8
|\ \ | |/ |/| Use `Base.strict_decode64` instead of `Base.decode64`
| * Use `Base.strict_decode64` instead of `Base.decode64` just as we do in encoding;Vipul A M2013-05-162-4/+8
| | | | | | | | Also reduce extra object allocation by creating string directly instead of join on Array
* | Fix issue with Kernel#silence_stream leaking file descriptorsMario Visic2013-12-061-0/+1
| | | | | | | | | | | | | | Calling Kernel#silence_stream creates a new file descriptor which isn't closed after it is used. As a result calling silence_stream multiple times leads to a build up of loose file descriptors and can cause issues in environments where garbage collection isn't run often.
* | set `i18n.enforce_available_locales` before `i18n.default_locale`.Yves Senn2013-12-051-0/+5
| |
* | Review json_escape docs [ci skip]Carlos Antonio da Silva2013-12-041-22/+22
| |
* | Also move html_esacpe regex to a constant (see 9d25af60)Godfrey Chan2013-12-041-1/+2
| |
* | Added \u2028 \u2029 to json_escapeGodfrey Chan2013-12-041-5/+7
| |
* | Use lower case letters in unicodes sequences to match the new encoder's outputGodfrey Chan2013-12-041-1/+1
| |
* | Fixed a long-standing bug in `json_escape` that strips quotation marksGodfrey Chan2013-12-041-12/+49
| |
* | Remove earlier return in favor of conditionalCarlos Antonio da Silva2013-12-031-6/+9
| |
* | Change delimiter check order: first check if it is presentCarlos Antonio da Silva2013-12-031-3/+3
| | | | | | | | | | | | | | This reads a lot better, and we won't need to try start_with? for blank delimiters. Also rename method name to read better.
* | Make both conversion methods work similarlyCarlos Antonio da Silva2013-12-031-1/+2
| | | | | | | | | | The conversion without area code already changed the passed number in place, so change the other method to do the same.
* | Remove useless empty stringCarlos Antonio da Silva2013-12-031-2/+1
| |
* | No need for #tapCarlos Antonio da Silva2013-12-031-4/+3
| |
* | Avoid a hash creation since defaults is a new hash alreadyCarlos Antonio da Silva2013-12-031-1/+1
| |
* | Stop using local variables everywhere, make use of the readerCarlos Antonio da Silva2013-12-036-20/+20
| |
* | Refactor to avoid earlier returnsCarlos Antonio da Silva2013-12-031-5/+9
| |
* | Rename variable that holds whether or not the class should validate a float ↵Carlos Antonio da Silva2013-12-035-9/+9
| | | | | | | | number
* | Added Date#all_week/month/quarter/year for generating date rangesDimko2013-12-032-21/+21
| |
* | Add support for localized date referencesColin Bartlett2013-12-031-0/+10
| | | | | | | | | | | | | | Ruby's Date class automatically gives us #yesterday, #today, and #tomorrow. And ActiveSupport has a handy Time.zone.today for getting a localized version. But there was no localized version of #yesterday or #tomorrow. Until now.
* | Tidy up previous commit, fix message assertion and improve testsCarlos Antonio da Silva2013-12-031-1/+3
| |
* | Modify the Hash#assert_valid_keys error message so that it shows the valid ↵Nerian2013-12-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | keys. Also, show the wrong value as it was entered. { :failore => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ]) => ArgumentError: Unknown key: failore { 'failore' => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ]) => ArgumentError: Unknown key: failore { 'failore' => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ]) => ArgumentError: Unknown key: "failore". Valid keys are: :failure, :funny { :failore => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ]) => ArgumentError: Unknown key: :failore. Valid keys are: :failure, :funny Conflicts: activerecord/CHANGELOG.md Closes #11624.
* | Merge pull request #13060 from chancancode/change_log_for_json_refactorCarlos Antonio da Silva2013-12-021-0/+27
|\ \ | | | | | | CHANGELOG for JSON refactor + added back the `encode_big_decimal_as_string` option with warning
| * | Added back the `encode_big_decimal_as_string` option with warningGodfrey Chan2013-12-021-0/+27
| | | | | | | | | | | | | | | Also added the missing CHANGELOG entry for #12183 @ 80e7552073 and 4d02296cfb.
* | | Avoid generating more strings while iterating to create methodsCarlos Antonio da Silva2013-12-021-1/+1
| | | | | | | | | | | | | | | Use the already existing strings instead of creating a new one each time just to test if it responds to the methods.
* | | Merge remote-tracking branch 'origin/master'Rafael Mendonça França2013-12-022-2/+2
|\ \ \
| * | | Remove deprecated cattr_* requiresGenadi Samokovarov2013-12-032-2/+2
| | | |
* | | | :sicssors:Rafael Mendonça França2013-12-028-15/+2
| | | |