diff options
author | Marc-Andre Lafortune <github@marc-andre.ca> | 2012-11-16 03:20:55 -0500 |
---|---|---|
committer | Marc-Andre Lafortune <github@marc-andre.ca> | 2012-11-16 03:20:55 -0500 |
commit | 22edb664cf081485e4e37bf5a797890648126a79 (patch) | |
tree | b10a74cf0fbc78d5b24f9e0be244fe75d9c8e064 | |
parent | 44f12bbba08071178ec256c03eecadacdf35dccf (diff) | |
download | rails-22edb664cf081485e4e37bf5a797890648126a79.tar.gz rails-22edb664cf081485e4e37bf5a797890648126a79.tar.bz2 rails-22edb664cf081485e4e37bf5a797890648126a79.zip |
Use Integer#div instead of Integer#/ to avoid side effects from mathn
-rw-r--r-- | activesupport/lib/active_support/core_ext/array/grouping.rb | 2 | ||||
-rw-r--r-- | activesupport/test/core_ext/array_ext_test.rb | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/core_ext/array/grouping.rb b/activesupport/lib/active_support/core_ext/array/grouping.rb index f79b100b3b..97a25cd2e6 100644 --- a/activesupport/lib/active_support/core_ext/array/grouping.rb +++ b/activesupport/lib/active_support/core_ext/array/grouping.rb @@ -58,7 +58,7 @@ class Array # size / number gives minor group size; # size % number gives how many objects need extra accommodation; # each group hold either division or division + 1 items. - division = size / number + division = size.div number modulo = size % number # create a new array avoiding dup diff --git a/activesupport/test/core_ext/array_ext_test.rb b/activesupport/test/core_ext/array_ext_test.rb index 9dfa2cbf11..efa7582ab0 100644 --- a/activesupport/test/core_ext/array_ext_test.rb +++ b/activesupport/test/core_ext/array_ext_test.rb @@ -112,6 +112,14 @@ class ArrayExtToSTests < ActiveSupport::TestCase end class ArrayExtGroupingTests < ActiveSupport::TestCase + def setup + Fixnum.send :private, :/ # test we avoid Integer#/ (redefined by mathn) + end + + def teardown + Fixnum.send :public, :/ + end + def test_in_groups_of_with_perfect_fit groups = [] ('a'..'i').to_a.in_groups_of(3) do |group| |