aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext
Commit message (Collapse)AuthorAgeFilesLines
* Disable ability to iterate over a Range of TimeWithZoneBogdan Gusiev2013-07-192-0/+25
|
* Add missing requireAkira Matsuda2013-07-111-0/+1
|
* Only raise DelegationError if it's is the source of the exceptionAndrew White2013-07-111-10/+11
| | | | | | | | | This fixes situations where nested NoMethodError exceptions are masked by delegations. This would cause confusion especially where there was a problem in the Rails booting process because of a delegation in the routes reloading code. Fixes #10559
* Add missing require so that DateTime has the right superclassAndrew White2013-07-101-0/+1
| | | | | | | | If the DateTime core extensions were loaded before the Date core extensions then you would get a superclass mismatch as DateTime hasn't been defined yet so it gets set to Object by the acts_like core extension. Fixes #11206
* Better not mutate the given options HashAkira Matsuda2013-07-101-3/+3
|
* Simplify Array#in_groups_of codeAkira Matsuda2013-07-101-3/+1
|
* Speed up Array#splitAkira Matsuda2013-07-101-6/+20
| | | | | | | Benchmark: user system total real old 0.510000 0.000000 0.510000 ( 0.506749) new 0.330000 0.000000 0.330000 ( 0.336187)
* Speed up String#truncateAkira Matsuda2013-07-101-1/+1
| | | | | | | Benchmark: user system total real old 1.550000 0.040000 1.590000 ( 1.585866) new 1.250000 0.040000 1.290000 ( 1.287693)
* Speedup String#toAkira Matsuda2013-07-101-1/+1
| | | | | | | | Benchmark: 1000000.times { str.to(30) } user system total real old 0.490000 0.110000 0.600000 ( 0.607374) new 0.390000 0.000000 0.390000 ( 0.387306)
* Return local time for backwards compatibilityAndrew White2013-07-091-1/+1
|
* Retain UTC offset when using Time.at_with_coercionAndrew White2013-07-091-3/+8
| | | | | | | | | | The standard Ruby behavior for Time.at is to return the same type of time when passing an instance of Time as a single argument. Since the an ActiveSupport::TimeWithZone instance may be a different timezone than the system timezone and DateTime just understands offsets the best we can do is to return an instance of Time with the correct offset. Fixes #11350.
* Fix microsecond precision of Time#at_with_coercionNeer Friedman2013-07-091-1/+1
| | | | | | | | When Time.at_with_coercion (wraps Time.at) is called with a single argument that "acts_like?(:time)" it is coerced to integer thus losing it's microsecond percision. This commits changes this to use `#to_f` to prevent the problem
* Removed unsued deprecation requireRashmi Yadav2013-07-042-2/+0
|
* method transplanting between modules isn't supported on 1.9Aaron Patterson2013-07-031-0/+11
|
* Remove deprecated `String#encoding_aware?` Arun Agrawal2013-07-031-8/+0
| | | core extensions (`core_ext/string/encoding`).
* Remove deprecated `Module#local_constant_names` Arun Agrawal2013-07-031-16/+0
| | | in favor of `Module#local_constants`
* Remove deprecated `DateTime.local_offset`Arun Agrawal2013-07-031-7/+0
|
* Remove deprecated Logger core extensions (core_ext/logger.rb)Carlos Antonio da Silva2013-07-031-67/+0
|
* Remove deprecated `Time#time_with_datetime_fallback`, `Time#utc_time`Vipul A M2013-07-031-35/+0
| | | | and `Time#local_time` in favour of `Time#utc` and `Time#local`
* Remove deprecated Hash#diff with no replacement.Carlos Antonio da Silva2013-07-022-17/+0
| | | | | If you're using it to compare hashes for the purpose of testing, please use MiniTest's assert_equal instead.
* Remove deprecated `Date#to_time_in_current_zone`Vipul A M2013-07-021-15/+0
|
* Remove deprecated `Proc#bind` with no replacement.Carlos Antonio da Silva2013-07-011-17/+0
|
* Remove deprecated Array#uniq_by and Array#uniq_by!Carlos Antonio da Silva2013-07-012-20/+0
| | | | Use native Array#uniq and Array#uniq! instead.
* Move delegation error constant to inside ModuleCarlos Antonio da Silva2013-06-261-2/+4
|
* Merge pull request #10828 from southpolesteve/delegation_error_classYves Senn2013-06-261-1/+3
|\ | | | | Create DelegationError class
| * Add DelegationError class. Rasied by delegation to a nil objectSteve Faulkner2013-06-261-1/+3
| |
* | Remove a comment related to 920753fRobin Dupret2013-06-261-1/+0
| | | | | | Since 920753f, double assignment isn't used anymore
* | Keep sub-second resolution when wrapping a DateTime valueAndrew White2013-06-131-0/+10
| | | | | | | | | | | | | | Add `DateTime#usec` and `DateTime#nsec` so that `ActiveSupport::TimeWithZone` keeps sub-second resolution when wrapping a `DateTime` value. Fixes #10855
* | Override Time.at to work with Time-like valuesAndrew White2013-06-081-0/+12
| | | | | | | | | | | | | | Time.at allows passing a single Time argument which is then converted to an integer. The conversion code since 1.9.3r429 explicitly checks for an instance of Time so we need to override it to allow DateTime and ActiveSupport::TimeWithZone values.
* | Fix some typosVipul A M2013-06-071-1/+1
|/
* The behavior we had in place in rc1 was actually to convert to DateTime and ↵David Heinemeier Hansson2013-06-031-2/+2
| | | | use <=> from there. Restore that.
* Allow Date to be compared with Time (like it was possible to compare Time ↵David Heinemeier Hansson2013-06-031-0/+11
| | | | with Date)
* Revert "Merge pull request #10600 from aditya-kapoor/code_refactor"Rafael Mendonça França2013-05-151-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8ce3c1e5dde9fb180813e4d89324db03da110b13, reversing changes made to f93da579ce7f77dbd58b9a2165861aee265b8c93. Reason: It slow down the running time. require "diffbench" load 'output_safety.rb' N = 10000 b = ActiveSupport::SafeBuffer.new("hello world") DiffBench.bm do report "capitalize in safe buffer" do N.times do b.capitalize end end end > git checkout 069ea45; diffbench bench.rb; diffbench bench.rb;diffbench bench.rb;diffbench bench.rb;diffbench bench.rb;diffbench bench.rb;diffbench bench.rb; Running benchmark with current working tree Checkout HEAD^ Running benchmark with HEAD^ Checkout to previous HEAD again user system total real ----------------------------------capitalize in safe buffer After patch: 0.010000 0.000000 0.010000 ( 0.009733) Before patch: 0.010000 0.000000 0.010000 ( 0.007702) Improvement: -26% Running benchmark with current working tree Checkout HEAD^ Running benchmark with HEAD^ Checkout to previous HEAD again user system total real ----------------------------------capitalize in safe buffer After patch: 0.010000 0.000000 0.010000 ( 0.009768) Before patch: 0.010000 0.000000 0.010000 ( 0.007896) Improvement: -24% Running benchmark with current working tree Checkout HEAD^ Running benchmark with HEAD^ Checkout to previous HEAD again user system total real ----------------------------------capitalize in safe buffer After patch: 0.010000 0.000000 0.010000 ( 0.009938) Before patch: 0.010000 0.000000 0.010000 ( 0.007768) Improvement: -28% Running benchmark with current working tree Checkout HEAD^ Running benchmark with HEAD^ Checkout to previous HEAD again user system total real ----------------------------------capitalize in safe buffer After patch: 0.010000 0.000000 0.010000 ( 0.010001) Before patch: 0.010000 0.000000 0.010000 ( 0.007873) Improvement: -27% Running benchmark with current working tree Checkout HEAD^ Running benchmark with HEAD^ Checkout to previous HEAD again user system total real ----------------------------------capitalize in safe buffer After patch: 0.010000 0.000000 0.010000 ( 0.009670) Before patch: 0.010000 0.000000 0.010000 ( 0.007800) Improvement: -24% Running benchmark with current working tree Checkout HEAD^ Running benchmark with HEAD^ Checkout to previous HEAD again user system total real ----------------------------------capitalize in safe buffer After patch: 0.010000 0.000000 0.010000 ( 0.009949) Before patch: 0.010000 0.000000 0.010000 ( 0.007752) Improvement: -28%
* this variable is used, so we don't have to use double assignmentsAaron Patterson2013-05-151-1/+1
|
* Added a blank space and removed to_symaditya-kapoor2013-05-141-4/+5
|
* Removed Class Eval and used define_method instead for the SafeBufferaditya-kapoor2013-05-141-12/+9
|
* Fixes NoMethodError: `alias_method_chain` when requiring just ↵Andy Lindeman2013-05-122-0/+4
| | | | | | active_support/core_ext * Each file that uses `alias_method_chain` brings it in explicitly
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-05-122-1/+2
|\ | | | | | | | | Conflicts: activesupport/lib/active_support/callbacks.rb
| * Changed spelling of Busines to Businessaditya-kapoor2013-05-081-1/+1
| |
| * document String#to_time exceptionVipul A M2013-05-021-0/+1
| |
* | dependency ActiveSupport::DeprecationTomohiko Himura2013-05-091-0/+2
| |
* | 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.
* | | Squashed commit of the following:Aaron Patterson2013-05-0310-63/+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
| |/
* | Fixes Dependency bug in Active SupportTomohiko Himura2013-05-023-0/+3
| | | | | | | | DateTime defined in date.rb
* | Revert "Object#in? also accepts multiple parameters"Brian Morearty2013-05-011-19/+9
|/ | | | | | | | | | | | | | | | | | This reverts commit ebf69ab1636df74c76332c53bcd3d8494fb91b45. `in?` must not take multiple parameters because its behavior would be ambiguous: # Test if "B" is included in a list of names with `"B".in?(*names)`: names = ["BMorearty"] "B".in?(*names) # => true names = ["BMorearty","rubyduo"] "B".in?(*names) # => false Conflicts: activesupport/lib/active_support/core_ext/object/inclusion.rb activesupport/test/core_ext/object/inclusion_test.rb
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-05-011-6/+6
|\
| * documentation fixes for Array.wrap and AR::Validations::AssociatedValidatorHrvoje Šimić2013-04-171-6/+6
| |