aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
Commit message (Collapse)AuthorAgeFilesLines
* [ci skip] Correct output of #assert_notAkshay Vishnoi2014-06-121-1/+1
|
* Revert "remove unnecssary require of `to_param`, as `to_query` is already ↵Rafael Mendonça França2014-06-114-0/+4
| | | | | | | | | | | | | | | | | | | | | require `to_param`" Revert "No need to require to_param, it is already required in to_query.rb" This reverts commits ccdd97662e1fb00c23c90d59f65c091904959561 and d697ee14264a90a39cdbe87857656d8b314ac9b7. Reason by @jeremy: These requires are not for implementation dependency. They ensure that requiring array conversions provides to_query, to_param, and other array conversion behaviors. The fact that to_query is implemented in terms of to_param is just a coincidence. If to_query removed its to_param require, then someone requiring array conversions would no longer have to_param available. This change removes these intentional dependencies on to_param in favor of implementation side effects—an undesirable move that's susceptible to regression.
* remove unnecssary require of `to_param`, as `to_query` is already require ↵Kuldeep Aggarwal2014-06-123-3/+0
| | | | `to_param`
* No need to require to_param, it is already required in to_query.rbAkshay Vishnoi2014-06-111-1/+0
|
* remove deprecated code. Rely on `describe` provided by minitestAaron Patterson2014-06-101-24/+0
|
* Merge pull request #15616 from apanzerj/fix_long_key_pathsRafael Mendonça França2014-06-101-0/+5
|\ | | | | fix error with long keys in ActiveSupport::Cache::FileStore
| * fix error with long keys in ActiveSupport::Cache::FileStoreAdam Panzer2014-06-101-0/+5
| |
* | [ci skip] Add Docs for strip_insignificant_zeros option in number helpersAkshay Vishnoi2014-06-101-8/+7
|/
* [ci skip] Correct output and use valid options of number helpersAkshay Vishnoi2014-06-101-2/+2
|
* Fix bug that make HashWithIndifferentAccess work differently of HashRafael Mendonça França2014-06-091-1/+1
| | | | | Before HashWithIndifferentAccess were doing deep_dup of the inner hashes when Hash doesn't do. Now both are behaving in the same way.
* Merge pull request #15421 from gchan/time_with_zone_precisionMatthew Draper2014-06-051-1/+1
|\ | | | | | | Fixed `ActiveSupport::TimeWithZone#-` so precision is not unnecessarily lost
| * Fixed `ActiveSupport::TimeWithZone#-` so precision is not unnecessarily lostGordon Chan2014-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When working with objects with a nanosecond component, the `-` method may unnecessarily cause loss of precision. `ActiveSupport::TimeWithZone#-` should return the same result as if we were using `Time#-`: Time.now.end_of_day - Time.now.beginning_of_day #=> 86399.999999999 Before: Time.zone.now.end_of_day.nsec #=> 999999999 Time.zone.now.end_of_day - Time.zone.now.beginning_of_day #=> 86400.0 After: Time.zone.now.end_of_day - Time.zone.now.beginning_of_day #=> 86399.999999999
* | Correct result, previously showing wrong resultAkshay Vishnoi2014-06-041-1/+1
| |
* | drastically reduce object allocationsAaron Patterson2014-06-021-6/+13
| | | | | | | | | | | | | | | | | | | | before this change, we were allocating AS::SafeBuffer objects that were being interpolated in to a string, so the safe buffer object was being thrown away. This change only allocates a string (vs a string *and* a safebuffer) and interpolates the string. On my test application, this reduced the AS::SafeBuffer objects from 1527k per request to about 500 per request.
* | reduce AS::SafeBuffer allocationsAaron Patterson2014-06-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | html_escape_interpolated_argument is only used in mutation methods: https://github.com/rails/rails/blob/c07d09559ec171e1904b55c7ad7e8c7d586ca51b/activesupport/lib/active_support/core_ext/string/output_safety.rb#L174 https://github.com/rails/rails/blob/c07d09559ec171e1904b55c7ad7e8c7d586ca51b/activesupport/lib/active_support/core_ext/string/output_safety.rb#L179 The return value doesn't need to be converted to an AS::SafeBuffer since we know that the current object is an AS::SafeBuffer and will be mutated, and the return value from html_escape_interpolated_argument will be thrown away
* | concat is a hotspot (via AV#append=), so just directly define the methodsAaron Patterson2014-06-021-4/+6
| |
* | Merge pull request #15379 from xuanxu/rational_precisionRafael Mendonça França2014-06-021-5/+1
|\ \ | | | | | | Fix AS::NumberHelper results with rationals
| * | Fix AS::NumberHelper results with rationalsJuanjo Bazán2014-05-311-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :precision was incorrectly being applied to Rationals before: ActiveSupport::NumberHelper.number_to_rounded Rational(10, 3), precision: 2 => "3.3" after: ActiveSupport::NumberHelper.number_to_rounded Rational(10, 3), precision: 2 => "3.33"
* | | Avoid looping through subscribers when unsubscribing with a subscriber object.Guo Xiang Tan2014-06-011-5/+10
| | |
* | | Update documentation to reflect unsubscription with name.Guo Xiang Tan2014-06-012-4/+9
| | |
* | | [ci skip] Correct output of Hash#symbolize_keysAkshay Vishnoi2014-05-311-2/+2
|/ /
* | [ci skip] Correct documentation of HashWithIndifferentAccess#dupAkshay Vishnoi2014-05-311-2/+2
| |
* | HashWithIndifferentAccess#dup doc [ci skip]James Blanding2014-05-301-1/+8
| | | | | | | | | | The phrase "exact copy" in the existing docmentation is somewhat misleading.
* | Merge pull request #15313 from ↵Rafael Mendonça França2014-05-301-0/+8
|\ \ | | | | | | | | | | | | andreychernih/time-with-zone-string-conversion-speed-up Speed-up TimeWithZone to String conversion
| * | Speed-up TimeWithZone to String conversionAndrey Chernih2014-05-271-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've noticed that `String(model.created_at)` is performing poorly in comparision with other fields. The source of the problem is a way `Kernel#String` works: it first tries to call `to_str` (which causes `NoMethodError` in `method_missing`) and then calls `to_s`. Performance tests: tz = Time.zone.now Benchmark.ips do |x| x.report { String(tz) } end Without this code: Calculating ------------------------------------- 572 i/100ms ------------------------------------------------- 10177.7 (±18.2%) i/s - 48620 in 5.000325s With this code: Calculating ------------------------------------- 1518 i/100ms ------------------------------------------------- 138984.2 (±10.1%) i/s - 677028 in 4.974897s
* | | :scissors: removed deprecated `Numeric#ago` and friendsGodfrey Chan2014-05-301-19/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | Replacements: 5.ago => 5.seconds.ago 5.until => 5.seconds.until 5.since => 5.seconds.since 5.from_now => 5.seconds.from_now The removed tests does not affect coverage – we have equivalent test cases in the tests for `AS::Duration`. See #12389 for the history and rationale behind this.
* | Merge pull request #12080 from ShayDavidson/fix_datetime_partial_datesMatthew Draper2014-05-281-1/+11
|\ \ | | | | | | | | | Added partial days support to `DateTime`'s `advance` method.
| * | Added partial days support to `DateTime`'s `advance` method.Shay Davidson2013-08-301-5/+15
| | | | | | | | | | | | | | | You can now add partial days (e.g. 2.5.days) to `DateTime` with the advance method. This was acheived by mimicing the `advance` implementation in `Time`.
* | | Require active_support at the railtiesRafael Mendonça França2014-05-272-0/+2
| | | | | | | | | | | | Railties need to be used without having to require any dependecy first.
* | | Remove `require 'active_support'` from individual modulesdeeeki2014-05-273-4/+0
| |/ |/| | | | | | | Let users require `active_support` before loading any ActiveSupport modules http://guides.rubyonrails.org/active_support_core_extensions.html
* | Merge pull request #15305 from tgxworld/remove_unnecessary_requireGuillermo Iguaran2014-05-241-2/+0
|\ \ | | | | | | Remove unnecessary require of Minitest.
| * | Remove unnecessary require of Minitest.Guo Xiang Tan2014-05-241-2/+0
| | | | | | | | | | | | Minitest has already been required when calling Minitest.autorun.
* | | Merge pull request #15278 from akshay-vishnoi/doc_changesAndrew White2014-05-241-4/+5
|\ \ \ | | | | | | | | [ci skip] Improve doc for ModuleConstMissing.guess_for_anonymous
| * | | [ci skip] Improve doc for ModuleConstMissing.guess_for_anonymousAkshay Vishnoi2014-05-241-4/+5
| |/ /
* | | Merge pull request #15276 from kuldeepaggarwal/fix-array-toRafael Mendonça França2014-05-231-1/+3
|\ \ \ | | | | | | | | Array#to now accept negative position also.
| * | | revert 96525d63Kuldeep Aggarwal2014-05-231-1/+3
| |/ / | | | | | | | | | `Array#to` is working for negative position
* | | Merge pull request #15275 from kuldeepaggarwal/add-testRafael Mendonça França2014-05-231-0/+2
|\ \ \ | | | | | | | | add test cases for negative position in Array#from
| * | | add test cases for negative position in Array#fromKuldeep Aggarwal2014-05-231-0/+2
| |/ /
* / / [ci skip] Remove Duration#=== when we drop support for 2.0.0-p353Akshay Vishnoi2014-05-231-2/+1
|/ /
* | Merge pull request #10887 from sakuro/deep_transform_keys_in_nested_arraysRafael Mendonça França2014-05-201-16/+38
|\ \ | | | | | | | | | | | | | | | | | | Hash#deep_*_keys(!) recurse into nested arrays. Conflicts: activesupport/CHANGELOG.md
| * | Hash#deep_*_keys(!) recurse into nested arrays.OZAWA Sakuro2013-06-081-16/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following methods now recursively transform nested arrays, too. * Hash#deep_transform_keys * Hash#deep_transform_keys! * Hash#deep_stringify_keys * Hash#deep_stringify_keys! * Hash#deep_symbolize_keys * Hash#deep_symbolize_keys!
* | | Fix confusing exception in ActiveSupport delegationVladimir Yarotsky2014-05-201-25/+13
| | |
* | | Collected TimeZone's class methods togetherprintercu2014-05-171-70/+69
| | | | | | | | | | | | Just moved class methods up in file and moved `def self.` methods into `class << self`.
* | | Merge pull request #15037 from ↵Rafael Mendonça França2014-05-161-1/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | roccoblues/fix_duplicate_activesupport_subscribers Fixed duplicate subscribers in ActiveSupport::Subscriber Conflicts: activesupport/CHANGELOG.md
| * | | Fixed duplicate subscribers in ActiveSupport::SubscriberDennis Schoen2014-05-091-1/+10
| | | | | | | | | | | | | | | | | | | | ActiveSupport::Subscriber no longer creates multiple subscribers when you redefine a method.
* | | | remove deprecation warningeileencodes2014-05-131-6/+0
| | | | | | | | | | | | | | | | | | | | This deprecation was released in 4.1.0 and can be removed for 4.2.0, deprecation message / handling is no longer necessary.
* | | | Merge pull request #15072 from mjtko/fix/issue-15064Rafael Mendonça França2014-05-131-1/+3
|\ \ \ \ | | | | | | | | | | [Fixes #15064] Calling number_to_delimited on a ActiveSupport::SafeBuffer results in mangled output
| * | | | Use block parameter rather than `$1` during `gsub!` so ↵Mark J. Titorenko2014-05-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `ActiveSupport::SafeBuffer` values aren't mangled. Fixes #15064
* | | | | Do not check defined?(CGI) on every call #to_queryprintercu2014-05-131-1/+1
| | | | |
* | | | | flip conditional to use if/else instead of unless/elseeileencodes2014-05-121-3/+3
|/ / / / | | | | | | | | | | | | Use if/else instead of unless/else so conditional reads better.