aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
Commit message (Collapse)AuthorAgeFilesLines
* Should do nothing hereAkira Matsuda2017-01-161-1/+1
|
* Revert "Merge pull request #27686 from koic/friendly_bigdecimal_inspect"Kasper Timm Hansen2017-01-151-7/+0
| | | | | | | | | | | | | The exact inspect output of a BigDecimal is out of scope for what we're trying to communicate about `dup` and `duplicable?` here. Adding two examples distracts is disctracting, so keep the docs from before since our minimal version is Ruby 2.2.2. [ Koichi ITO, Jon Moss, Kasper Timm Hansen ] This reverts commit 2163874dedaf83e67599c2930c2686caa165fbad, reversing changes made to 46fdbc5290335ed38fa9fe2b6b0ef8abe4eccb1b.
* Several representation of BigDecimal has changed in Ruby 2.4.0+ [ci skip]Koichi ITO2017-01-151-0/+7
| | | | cf. https://github.com/ruby/bigdecimal/pull/42
* It would be safer not to totally undef core classes' respond_to_missing?Akira Matsuda2017-01-152-2/+12
| | | | instead, rewrite them to no-op
* AS::StringInquirer#respond_to_missing? should fallback to superAkira Matsuda2017-01-153-3/+19
| | | | in case String or any other ancestor class' respond_to_missing? was defined.
* This test wasn't actually an effective regression testAkira Matsuda2017-01-151-4/+5
|
* Unused &block parameterAkira Matsuda2017-01-151-1/+1
|
* AS::ArrayInquirer#respond_to_missing? should fallback to superAkira Matsuda2017-01-153-1/+20
| | | | in case Array or any other ancestor class' respond_to_missing? was defined.
* Constant look-up would no longer fall back to top-level constant since ruby 2.5Akira Matsuda2017-01-131-2/+2
| | | | | See: https://github.com/ruby/ruby/commit/44a2576f798b07139adde2d279e48fdbe71a0148 https://github.com/ruby/ruby/commit/9df88e9cae57aa421230f14500e88f33f127414f
* class Foo < Struct.new(:x) creates an extra unneeded anonymous classAkira Matsuda2017-01-133-4/+4
| | | | because Struct.new returns a Class, we just can give it a name and use it directly without inheriting from it
* Add duration constructors for use in Numeric extensionsAndrew White2017-01-123-34/+76
| | | | | The Numeric extensions like 1.day, 1.month, etc. shouldn't know how the internals of ActiveSupport::Duration works.
* Add additional tests for #27610Andrew White2017-01-121-1/+38
| | | | | | | Since 1.month no longer equals 30.days add some tests to ensure that addition maintains the same day in the month or is the last day in the month if the month has less days than the current day. Also add a test for the behaviour of 12.months == 1.year.
* Reduce string objects by using \ instead of + or << for concatenating stringsAkira Matsuda2017-01-121-1/+1
| | | | (I personally prefer writing one string in one line no matter how long it is, though)
* Merge pull request #27610 from Envek/fix_and_speed_up_duration_parsingAndrew White2017-01-126-20/+57
|\ | | | | Fix inconsistent parsing of Durations with both months and years
| * Fix inconsistent results when parsing large durations and constructing ↵Andrey Novikov2017-01-096-20/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | durations from code ActiveSupport::Duration.parse('P3Y') == 3.years # It should be true Duration parsing made independent from any moment of time: Fixed length in seconds is assigned to each duration part during parsing. Changed duration of months and years in seconds to more accurate and logical: 1. The value of 365.2425 days in Gregorian year is more accurate as it accounts for every 400th non-leap year. 2. Month's length is bound to year's duration, which makes sensible comparisons like `12.months == 1.year` to be `true` and nonsensical ones like `30.days == 1.month` to be `false`. Calculations on times and dates with durations shouldn't be affected as duration's numeric value isn't used in calculations, only parts are used. Methods on `Numeric` like `2.days` now use these predefined durations to avoid duplicating of duration constants through the codebase and eliminate creation of intermediate durations.
* | Use Encoding::UTF_8 constant for default_{internal,external} in the testsAkira Matsuda2017-01-111-2/+2
| |
* | Make time travel work with subclasses of Time/Date/DatetimeJonas Nicklas2017-01-102-5/+24
|/ | | | | Closes #27614 Previously when calling `now` on a subclass of e.g. `Time` it would return an instance of `Time` instead of returning an instance of the subclass. This way, we always return the correct class.
* Merge pull request #27392 from y-yagi/use_same_class_on_compactSean Griffin2017-01-062-0/+14
|\ | | | | ensure `#compact` of HWIDA to return HWIDA
| * ensure `#compact` of HWIDA to return HWIDAyuuji.yaginuma2017-01-062-0/+14
| | | | | | | | | | | | | | | | `Hash#compact` of Ruby native returns new hash. Therefore, in order to return HWIDA as in the past version, need to define own `#compact` to HWIDA. Related: #26868
* | `self.` is not needed when calling its own instance methodAkira Matsuda2017-01-055-6/+6
| | | | | | | | Actually, private methods cannot be called with `self.`, so it's not just redundant, it's a bad habit in Ruby
* | Fix style guide violationsRafael Mendonça França2017-01-052-2/+2
| |
* | Make sure we generate keys that can be used with the cipherRafael Mendonça França2017-01-041-4/+4
| | | | | | | | | | | | | | | | | | We use aes-256-cbc cipher by default and it only accepts keys with 32 bytes at max. Closes #27576. [ci skip]
* | Merge pull request #26480 from tbrisker/fix-26461Rafael França2017-01-041-2/+7
|\ \ | |/ |/| Clarify that mattr_* creates public methods
| * Reword according to feedbackTomer Brisker2016-09-151-8/+7
| |
| * Clarify that mattr_* creates public methodsTomer Brisker2016-09-131-0/+6
| |
* | There's no such moduleAkira Matsuda2017-01-052-8/+8
| |
* | 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+