aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Add Rdoc document for Array#forty_twoutenmiki2013-10-311-0/+2
| | |
* | | Require time before monkey-patching itRobin Dupret2013-10-311-0/+1
|/ / | | | | | | | | | | Same as #12710 but for the time module this time. This time it should fix the Active Model test suite in isolation avoiding a TypeError to be raised about the superclass of the DateTime object.
* | Require bigdecimal before monkey-patching itRobin Dupret2013-10-311-0/+1
| | | | | | | | | | | | | | | | If we try to monkey-patch the class before requiring it, then a "superclass mismatch" (TypeError) error is raised and the build can't run correctly. Fixes #12708
* | Merge pull request #12203 from chancancode/eager_load_jsonJeremy Kemper2013-10-303-27/+221
|\ \ | | | | | | Eagerload active_support/json/encoding in active_support/core_ext/object/to_json
| * | Moved all JSON core extensions into core_ext/object/jsonGodfrey Chan2013-09-133-27/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TL;DR The primary driver is to remove autoload surprise. This is related to #12106. (The root cause for that ticket is that json/add defines Regexp#to_json among others, but here I'll reproduce the problem without json/add.) Before: >> require 'active_support/core_ext/to_json' => true >> //.as_json NoMethodError: undefined method `as_json' for //:Regexp from (irb):3 from /Users/godfrey/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in `<main>' >> //.to_json => "\"(?-mix:)\"" >> //.as_json => "(?-mix:)" After: >> require 'active_support/core_ext/to_json' => true >> //.as_json => "(?-mix:)" This is because ActiveSupport::JSON is autoloaded the first time Object#to_json is called, which causes additional core extentions (previously defined in active_support/json/encoding.rb) to be loaded. When someone require 'active_support/core_ext', the expectation is that it would add certain methods to the core classes NOW. The previous behaviour causes additional methods to be loaded the first time you call `to_json`, which could cause nasty surprises and other unplesant side-effects. This change moves all core extensions in to core_ext/json. AS::JSON is still autoloaded on first #to_json call, but since it nolonger include the core extensions, it should address the aforementioned bug. *Requiring core_ext/object/to_json now causes a deprecation warnning*
* | | slice! should not remove default hash value/procAntonio Santos2013-10-241-0/+2
| | |
* | | Fix `singleton_class?`Vipul A M2013-10-151-2/+5
| | | | | | | | | | | | | | | Due to changes from http://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/39628 current `singleton_class?` implementation fails. Changed based on reference from http://bugs.ruby-lang.org/issues/7609
* | | Merge pull request #11474 from bogdan/time-with-zone-succAndrew White2013-09-222-0/+25
|\ \ \ | |/ / |/| | Prevent server blow up when iterating over TimeWithZone Range
| * | Disable ability to iterate over a Range of TimeWithZoneBogdan Gusiev2013-07-192-0/+25
| | |
* | | Fixes typo in Object#try!Jay Hayes2013-09-101-1/+1
| | |
* | | Merge pull request #11850 from razielgn/mod-delegation-backtraceRafael Mendonça França2013-08-211-2/+1
|\ \ \ | | | | | | | | Generalize backtrace check on DelegationError.
| * | | Rely on NoMethodError#name when deciding to raise DelegationError.Federico Ravasio2013-08-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Different Ruby implementations present backtraces differently, as it should be an information consumed by humans. A better implementation should use data from the error, in this case returned by NoMethodError#name. Fixes issues with Rubinius, which presents backtraces differently from MRI.
* | | | ensure freeze on Thread freezes localsNick Howard2013-08-191-0/+5
| | | |
* | | | oops, I missed this in 7193f75Guillermo Iguaran2013-08-181-1/+1
| | | |
* | | | Rename @locals to @_locals in Thread to avoid conflict with Rubinius. Closes ↵Guillermo Iguaran2013-08-181-7/+7
| | | | | | | | | | | | | | | | #11831
* | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2013-08-173-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: actionview/README.rdoc activerecord/lib/active_record/migration.rb guides/source/development_dependencies_install.md guides/source/getting_started.md
| * | | | Revert "Merge branch 'master' of github.com:rails/docrails"Vijay Dev2013-08-173-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 70d6e16fbad75b89dd1798ed697e7732b8606fa3, reversing changes made to ea4db3bc078fb3093ecdddffdf4f2f4ff3e1e8f9. Seems to be a code merge done by mistake.
* | | | | Typo Fix[ci skip]Rashmi Yadav2013-08-141-3/+3
| | | | |
* | | | | Add String#remove(pattern) as a short-hand for the common pattern of ↵David Heinemeier Hansson2013-08-131-0/+10
| |/ / / |/| | | | | | | | | | | String#gsub(pattern, '')
* | | | No need to use blocks hereAndrew White2013-08-041-11/+9
| | | |
* | | | 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`