aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary require statementsJon Moss2017-01-031-3/+0
| | | | Should have been removed via 8e43fc5ace8039370f233570863b34821a3be46f.
* Merge pull request #27363 from amatsuda/refined_array_sumSean Griffin2017-01-031-2/+7
|\ | | | | Refining Array#sum monkey-patch using Refinements
| * Refining Array#sum monkey-patch using RefinementsAkira Matsuda2016-12-151-2/+7
| | | | | | | | Because we don't want to see our ugly orig_sum method outside of this file
* | Merge pull request #27520 from ↵Rafael França2017-01-011-11/+21
|\ \ | | | | | | | | | | | | prathamesh-sonpatki/merge-uncountable-tests-for-inflector Make the tests for uncountability of ascii and non-ascii words uniform
| * | Make the tests for uncountability of ascii and non-ascii words uniformPrathamesh Sonpatki2016-12-311-11/+21
| | |
* | | Fix Symbol#duplicable? for Ruby 2.4.0.Kasper Timm Hansen2017-01-012-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Bump license years for 2017Jon Moss2016-12-312-2/+2
|/ / | | | | | | | | | | | | | | Per https://www.timeanddate.com/counters/firstnewyear.html, it's already 2017 in a lot of places, so we should bump the Rails license years to 2017. [ci skip]
* | Merge pull request #12509 from eitoball/pluralize_for_non_ascii_character_wordsMatthew Draper2016-12-311-0/+8
|\ \ | | | | | | | | | | | | | | | Fix ActiveSupport::Inflector.pluralize behavior for words that consist of non-ASCII characters (test only; the original bug was fixed by 1bf50badd943e684a56a03392ef0ddafefca0ad7)
| * | fix pluralize behavior for words that consist of non-ascii charactersEito Katagiri2015-07-022-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code below returns "猫" in 3.2, but "猫s" in 4.0. ```ruby ActiveSupport::Inflector.inflections do |inflect| inflect.uncountable "猫" end "猫".pluralize ```
* | | 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-283-3/+3
| | | | | | | | | | | | | | | | | | Some methods were added to public API in 5b14129d8d4ad302b4e11df6bd5c7891b75f393c and they should be not part of the public API.
* | | assert_equal takes expectation firstAkira Matsuda2016-12-266-45/+45
| | |
* | | "Use assert_nil if expecting nil from ...:in `...'. This will fail in ↵Akira Matsuda2016-12-252-3/+3
| | | | | | | | | | | | minitest 6."
* | | Expectation firstAkira Matsuda2016-12-252-5/+5
| | |
* | | "Use assert_nil if expecting nil from ...:in `...'. This will fail in MT6."Akira Matsuda2016-12-251-1/+1
| | |
* | | "Use assert_nil if expecting nil. This will fail in minitest 6."Akira Matsuda2016-12-2516-39/+39
| | |
* | | Privatize unneededly protected methods in Active SupportAkira Matsuda2016-12-2415-56/+46
| | |
* | | No need to nodoc private methodsAkira Matsuda2016-12-245-10/+10
| | |
* | | Privatize unneededly protected methods in Active Support testsAkira Matsuda2016-12-247-8/+8
| | |
* | | Describe what we are protectingAkira Matsuda2016-12-231-0/+2
| | |
* | | Fix Complex and Rational are duplicable?utilum2016-12-213-2/+27
| | | | | | | | | | | | 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 #27366 from utilum/avoid_fixnum_warningMatthew Draper2016-12-181-1/+1
|\ \ \ | | | | | | | | Fix Fixnum deprecated warning in Ruby 2.4+
| * | | Fix Fixnum deprecated warning in Ruby 2.4+utilum2016-12-161-1/+1
| | |/ | |/|
* | | Merge pull request #27368 from matthewd/doubled-callbacksMatthew Draper2016-12-162-18/+77
|\ \ \ | |/ / |/| | Support double-yield inside an around callback
| * | Support double-yield inside an around callbackMatthew Draper2016-12-152-18/+77
| | | | | | | | | | | | | | | | | | | | | 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-144-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | fix new warning in ruby 2.4yuuji.yaginuma2016-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following warning. ``` test/caching_test.rb:986: warning: parentheses after method name is interpreted as test/caching_test.rb:986: warning: an argument list, not a decomposed argument test/cases/adapters/mysql2/reserved_word_test.rb:146: warning: parentheses after method name is interpreted as test/cases/adapters/mysql2/reserved_word_test.rb:146: warning: an argument list, not a decomposed argument ``` Ref: https://github.com/ruby/ruby/commit/65e27c8b138d6959608658ffce2fa761842b8d24
* | | change return value of `duplicable?` with Ruby 2.4+yuuji.yaginuma2016-12-133-35/+71
| | | | | | | | | | | | | | | | | | | | | `NilClass`, `FalseClass`, `TrueClass`, `Symbol` and `Numeric` can dup with Ruby 2.4+. Ref: https://bugs.ruby-lang.org/issues/12979
* | | :nail_care:Akira Matsuda2016-12-131-2/+1
| | |
* | | nil, true, 1, etc. don't raise on #dup since Ruby 2.4Akira Matsuda2016-12-131-1/+1
| | | | | | | | | | | | 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-012-0/+11
| | | | | | | | | | | | | | | | 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-292-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 }`.
* | | use public Module#include instead of send :includeyuuji.yaginuma2016-11-271-1/+1
| | | | | | | | | | | | Follow up to #18767
* | | Merge pull request #26874 from tgxworld/fix_broadcast_loggerMatthew Draper2016-11-252-5/+21
|\ \ \ | | | | | | | | `Broadcast#silence` breaks custom loggers that do not include `Logg…
| * | | `Broadcast#silence` breaks custom loggers that does not include `LoggerSilence`.Guo Xiang Tan2016-10-242-5/+21
| | | |
* | | | 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") ```
* | | | update bin/test scripts to prevent double runs.Yves Senn2016-11-211-2/+0
| |/ / |/| | | | | | | | | | | The test runner was updated to make use of autorun. This caused the `bin/test` scripts to run Minitest twice.
* | | ✂️ needless lines beneath private.Kasper Timm Hansen2016-11-206-6/+0
| | |
* | | Move tests to a module, include in subclasses, style lintingJon Moss2016-11-201-188/+195
| | | | | | | | | | | | | | | | | | | | | | | | This fixes an error where the test runner would try and run XMLMiniEngineTest like a normal test class, except it's abstract. Now, to circumvent this, we don't include any of the actual tests in XMLMiniEngineTest; they are wrapped in a module that is included in subclass when they inherit from XMLMiniEngineTest. Pretty neat, huh?
* | | Create XMLMiniEngineTest; base class for all testsJon Moss2016-11-207-63/+33
| | |
* | | Code styling cleanupJon Moss2016-11-207-152/+162
| | |
* | | Create `CommonXMLMiniAdapterTest`; common tests moduleJon Moss2016-11-207-916/+279
| | | | | | | | | | | | | | | | | | Created a new module (a la Action Cable subscription adapter's test suite) to be included in all sub class test to ensure compatability and reduce duplicated code.