aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext
Commit message (Collapse)AuthorAgeFilesLines
* Fix jruby warning when capture calls unlink on an open tempfileAlex Tambellini2013-08-021-0/+1
| | | | Jruby cannot unlink a tempfile unless it is closed first.
* Refactor Date, Time, DateTime timezone methodsGilad Zohari2013-08-014-59/+47
| | | | | | Similar implementations of #in_time_zone exists for Date, Time and DateTime so method is extracted into its own module. Also some logic is extracted into private method.
* Remove duplication from date_time calculationsGilad Zohari2013-07-311-10/+0
| | | | | | Methods: :past? and :future? are already defined identically in date_and_time/calculations.rb which is included in Date. Because DateTime is a subclass of Date, it can call them.
* Merge pull request #10879 from makaroni4/masterAndrew White2013-07-293-0/+30
|\ | | | | Added Time#middle_of_day method
| * Added Time#middle_of_dayAnatoli Makarevich2013-07-283-1/+31
| | | | | | | | Added middle_of_day method to Date and DateTime
* | Fix handling of offsets with Time#to_s(:iso8601)Andrew White2013-07-293-2/+6
| | | | | | | | | | | | Use a lambda to ensure that the generated string respects the offset of the time value. Also add DateTime#to_s(:iso8601) and Date#to_s(:iso8601) for completeness.
* | Add Time#to_s(:iso8601) for easy conversion of times to the iso8601 format ↵David Heinemeier Hansson2013-07-281-1/+2
| | | | | | | | for easy Javascript date parsing
* | Merge branch 'master' of github.com:rails/docrailsVijay Dev2013-07-281-1/+1
|\ \
| * | Fixes typo in Object#try!Jay Hayes2013-07-261-1/+1
| | |
* | | Merge pull request #11625 from phstc/minor-refactor-code-gardener-groupingRafael Mendonça França2013-07-272-2/+1
|\ \ \ | |/ / |/| | Minor refactor - Uses Enumerable#to_a instead of iterate and add to an array
| * | Minor refactor - Uses Enumerable#to_a instead of iterate and add to anPablo Cantero2013-07-273-5/+2
| | | | | | | | | | | | array
* | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2013-07-212-17/+7
|\ \ \
| * \ \ Merge branch 'master' of github.com:rails/docrailsThiago Pinto2013-07-161-17/+2
| |\ \ \
| | * | | Array#to_formatted_s does not call each element's to_s anymoreAkira Matsuda2013-07-111-17/+2
| | | | | | | | | | | | | | | | | | | | Array#to_s calls each element's inspect since ruby 1.9
| * | | | Enhancing readability of options for delegate methodThiago Pinto2013-07-161-0/+5
| |/ / /
* | | | 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
|