aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
Commit message (Collapse)AuthorAgeFilesLines
* Fix Symbol#duplicable? for Ruby 2.4.0.Kasper Timm Hansen2017-01-011-1/+2
| | | | | | | | | | | | | Ruby 2.4.0 has trouble duplicating certain symbols created from strings via `to_sym`. It didn't happen with `'symbol'.to_sym.dup` for some reason, but works fine with the longer string sample. Once a newer Ruby version with a fix is released we'll get have a failing test case we can fix. Ref: #27532
* Prefer Regexp#match? over Regexp#===Matthew Draper2016-12-311-1/+2
|
* Only add regexes for the new wordsMatthew Draper2016-12-311-2/+3
|
* Fix Rubocop violations and fix documentation visibilityRafael Mendonça França2016-12-281-1/+1
| | | | | | Some methods were added to public API in 5b14129d8d4ad302b4e11df6bd5c7891b75f393c and they should be not part of the public API.
* Privatize unneededly protected methods in Active SupportAkira Matsuda2016-12-2415-56/+46
|
* No need to nodoc private methodsAkira Matsuda2016-12-245-10/+10
|
* Describe what we are protectingAkira Matsuda2016-12-231-0/+2
|
* Fix Complex and Rational are duplicable?utilum2016-12-211-0/+20
| | | | See [this test](https://gist.github.com/utilum/78918f1b64f8b61ee732cb266db7c43a).
* `protected` here doesn't protect anythingAkira Matsuda2016-12-191-2/+0
| | | | there aren't any instance method defined in this class
* Merge pull request #27368 from matthewd/doubled-callbacksMatthew Draper2016-12-161-3/+9
|\ | | | | Support double-yield inside an around callback
| * Support double-yield inside an around callbackMatthew Draper2016-12-151-3/+9
| | | | | | | | | | | | | | It's questionable whether this is a good thing -- it forces any later/ inner callback to handle multiple invocations, along with the actual wrapped action. But it worked prior to 871ca21f6a1d65c0ec78cb5a9641411e2210460b, so we shouldn't break it unintentionally.
* | Fix constantize edge case involving prepend, autoloading and name conflictsJean Boussier2016-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the following situation: ```ruby class Bar end module Baz end class Foo prepend Baz end class Foo::Bar end ``` Running `Inflector.constantize('Foo::Bar')` would blow up with a NameError. What is happening is that `constatize` was written before the introduction of prepend, and wrongly assume that `klass.ancestors.first == klass`. So it uses `klass.ancestors.inject` without arguments, as a result a prepended module is used in place of the actual class.
* | change return value of `duplicable?` with Ruby 2.4+yuuji.yaginuma2016-12-131-33/+58
| | | | | | | | | | | | | | `NilClass`, `FalseClass`, `TrueClass`, `Symbol` and `Numeric` can dup with Ruby 2.4+. Ref: https://bugs.ruby-lang.org/issues/12979
* | Keep AS::XmlMini::PARSING["decimal"].call('') returning 0Akira Matsuda2016-12-131-1/+11
|/ | | | | BigDecimal('an invalid string') has changed its behavior to raise an ArgumentError since 1.3.0 https://bugs.ruby-lang.org/issues/10286
* split DELEGATION_RESERVED_METHOD_NAMES in halfToshimaru2016-12-091-4/+5
|
* stop using removed `render :text`yuuji.yaginuma2016-12-031-2/+2
| | | | Follow up to 79a5ea9eadb4d43b62afacedc0706cbe88c54496
* Exclude singleton classes from `subclasses` and `descendants`Sean Griffin2016-12-011-0/+1
| | | | | | | | This behavior changed in Ruby starting with 2.3.0, as a result of https://bugs.ruby-lang.org/issues/11360. This results in a change in behavior of these methods which is likely undesirable. Fixes #27238
* Merge pull request #27206 from kirs/fix-testing-isolation-2Matthew Draper2016-12-011-7/+8
|\ | | | | Fix arguments passing in testing isolation
| * Fix arguments passing in testing isolationKir Shatrov2016-11-301-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue affects MRI 2.2.5, MRI 2.3.3, JRuby 9.1.6.0. It can be reproduced by: ``` $ cd activemodel $ NO_FORK=1 bundle exec rake test ``` If we wrap original arguments in quotes, it will be considered as a one big single argument. Later, [`rake/rake_test_loader.rb`](https://github.com/ruby/rake/blob/7863b97/lib/rake/rake_test_loader.rb#L15) will iterate over ARGS and try to require that huge single "argument" (which is a list of multiple .rb files). This leads to an exception: ``` /Users/kir/Project s/opensource/rails/vendor/bundle/gems/rake-11.3.0/lib/rake/rake_test_loader.rb:15:in `require': cannot load such file -- /Users/kir/Projects/opensource/rails/activemodel/test/cases/ attribute_assignment_test.rb [stripped] /Users/kir/Projects/opensource/rails/activemodel/test/cases/validations/with_validation_test.rb /Users/kir/Projects/opensource/rails/activemodel/test/cases/validations_test .rb (LoadError) from /Users/kir/Projects/opensource/rails/vendor/bundle/gems/rake-11.3.0/lib/rake/rake_test_loader.rb:15:in `block in <main>' from /Users/kir/Projects/opensource/rails/vendor/bundle/gems/rake-11.3.0/lib/rake/rake_test_loader.rb:4:in `select' from /Users/kir/Projects/opensource/rails/vendor/bundle/gems/rake-11.3.0/lib/rake/rake_test_loader.rb:4:in `<main>' ``` Originally quotes were introduced in https://github.com/rails/rails/pull/19819 to fix MRI 2.2.2. The fix solves issue on all affected platforms: MRI 2.2.5, MRI 2.3.3, JRuby 9.1.6.0.
* | Missing require 'active_support/notifications'Akira Matsuda2016-11-301-0/+1
| |
* | Treat combined durations as a single unitSean Griffin2016-11-291-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | Prior to this commit, `3.months - 3.months` would result in a duration that has the "parts" of `[[:months, 3], [:months, -3]]`. This would mean that it was subtly different than `2.months - 2.months`. When applied to a time, the date might actually change if the resulting day doesn't exist however many months in the future, even though in both cases we just wanted to add `0`, which should always be an identity operation. With this change, we now store the parts as a hash, so `3.months - 3.months` is simply stored as `{ months: 0 }`.
* | Merge pull request #26874 from tgxworld/fix_broadcast_loggerMatthew Draper2016-11-251-2/+2
|\ \ | | | | | | `Broadcast#silence` breaks custom loggers that do not include `Logg…
| * | `Broadcast#silence` breaks custom loggers that does not include `LoggerSilence`.Guo Xiang Tan2016-10-241-2/+2
| | |
* | | Fix `require_dependency` message formatRyuta Kamizono2016-11-251-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | `depend_on` message format is `"No such file to load -- %s.rb"`. But `require_dependency` message is missing `.rb` suffix. ``` % git grep -n 'No such file to load' actionview/test/actionpack/abstract/helper_test.rb:112: assert_equal "No such file to load -- very_invalid_file_name.rb", e.message activesupport/lib/active_support/dependencies.rb:245: def require_dependency(file_name, message = "No such file to load -- %s.rb") activesupport/lib/active_support/dependencies.rb:333: def depend_on(file_name, message = "No such file to load -- %s.rb") ```
* | Merge pull request #27070 from jonhyman/patch-raw-trueRafael França2016-11-171-1/+1
|\ \ | | | | | | Removes 'raw: true' from MemCacheStore#read_multi
| * | Removes 'raw: true' from MemCacheStore#read_multi, per ↵Jonathan Hyman2016-11-161-1/+1
| | | | | | | | | | | | https://github.com/rails/rails/issues/27066.
* | | Refactor the handling of fallback exception handlersSean Griffin2016-11-171-10/+5
| | |
* | | Call fallback exception handlers with the right exceptionSean Griffin2016-11-171-3/+10
|/ / | | | | | | | | | | | | | | The issue presented in #26246 showed a deeper underlying problem. When we fell back to the exception handler for an exceptions cause, we were calling that handler with the outer raised exception. This breaks the calling code's expectations, especially if the exception has methods on it behond those from `StandardError`.
* | Fix testing isolationKir Shatrov2016-11-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AS::Testing::Isolation has two ways to isolate the process: forking and subprocessing. The second way is used on JRuby and other platforms that don't support forking. The way how subprocessing works is that we prepare a command to run a new process: ``` /opt/rubies/2.3.0/bin/ruby -I{skipped_load_path} test/initializable_test.rb '' -nInitializableTests::Basic#test_Initializer_provides_context's_class_name ``` As you see, there's unescaped quote at the end of the line. It leads to: ``` sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file ``` This fixes tests on MRI + NO_FORK variable and on JRuby :tada:
* | Merge pull request #27035 from rails/remove-active-support-deprecationsAndrew White2016-11-1420-228/+3
|\ \ | | | | | | Remove Active Support deprecations
| * | Remove deprecated class ActiveSupport::Concurrency::LatchAndrew White2016-11-141-25/+0
| | |
| * | Remove deprecated separator argument from parameterizeAndrew White2016-11-142-10/+2
| | |
| * | Remove deprecated method Numeric#to_formatted_sAndrew White2016-11-141-5/+0
| | |
| * | Remove deprecated method alias_method_chainAndrew White2016-11-141-48/+0
| | |
| * | Remove deprecated constant MissingSourceFIleAndrew White2016-11-141-2/+0
| | |
| * | Remove deprecated Module.qualified_const_get/set/defined?Andrew White2016-11-143-72/+0
| | |
| * | Remove deprecated :prefix optionAndrew White2016-11-131-5/+1
| | |
| * | Remove deprecated new_from_hash_copying_defaultAndrew White2016-11-131-9/+0
| | |
| * | Remove deprecated time marshal core_ext fileAndrew White2016-11-131-3/+0
| | |
| * | Remove deprecated struct core_ext fileAndrew White2016-11-131-3/+0
| | |
| * | Remove deprecated module method_transplanting fileAndrew White2016-11-131-3/+0
| | |
| * | Remove deprecated local_constantsAndrew White2016-11-131-8/+0
| | |
| * | Remove deprecated kernel debugger fileAndrew White2016-11-131-3/+0
| | |
| * | Remove deprecated namespaced_keyAndrew White2016-11-131-8/+0
| | |
| * | Remove deprecated set_cache_valueAndrew White2016-11-131-8/+0
| | |
| * | Remove deprecated escape_keyAndrew White2016-11-131-8/+0
| | |
| * | Remove deprecated key_file_pathAndrew White2016-11-131-8/+0
| | |
* | | Revert "Merge pull request #25811 from oss92/to_sentence_fallback_string"Rafael Mendonça França2016-11-141-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bad3a120f1690f393d8f6204b3ceee60f0ce707b, reversing changes made to 2384317465ccb1dfca456a2b7798714b99f32711. Reason: Adding a new option in the API for something that can be done with a `#presence` check could do.
* | | Merge pull request #26222 from vipulnsward/26134-fixRafael França2016-11-131-6/+5
|\ \ \ | |/ / |/| | Format and send logs to logger.fatal from DebugExceptions
| * | Format and send logs to logger.fatal from DebugExceptions instead of calling ↵Vipul A M2016-11-121-6/+5
| | | | | | | | | | | | | | | | | | fatal multiple times. Expose tags_text from TaggedLogging to be used for log formatting Fixes #26134