diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index 7afd9926b5..7d00211ea1 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,5 +1,7 @@ *Rails 3.0.0 [beta 4/release candidate] (unreleased)* +* Renames Array#rand -> Array#random_element. [Santiago Pastorino, Rizwan Reza] + * Defines prev_(month|year) in Date and Time, and deprecates last_(month|year). [fxn] * Aliases Date#sunday to Date#end_of_week. [fxn] diff --git a/activesupport/lib/active_support/core_ext/array/random_access.rb b/activesupport/lib/active_support/core_ext/array/random_access.rb index 5338836b29..67c322daea 100644 --- a/activesupport/lib/active_support/core_ext/array/random_access.rb +++ b/activesupport/lib/active_support/core_ext/array/random_access.rb @@ -1,16 +1,6 @@ class Array - # This method is deprecated because it masks Kernel#rand within the Array class itself, - # which may be used by a 3rd party library extending Array in turn. See - # - # https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/4555 - # - def rand # :nodoc: - ActiveSupport::Deprecation.warn "Array#rand is deprecated, use random_element instead", caller - random_element - end - # Returns a random element from the array. def random_element self[Kernel.rand(length)] end -end +end \ No newline at end of file diff --git a/activesupport/test/core_ext/array_ext_test.rb b/activesupport/test/core_ext/array_ext_test.rb index ebd6806416..1f7cdb8ec1 100644 --- a/activesupport/test/core_ext/array_ext_test.rb +++ b/activesupport/test/core_ext/array_ext_test.rb @@ -368,10 +368,6 @@ class ArrayExtRandomTests < ActiveSupport::TestCase Kernel.expects(:rand).with(3).returns(1) assert_equal 2, [1, 2, 3].random_element end - - def test_deprecated_rand_on_array - assert_deprecated { [].rand } - end end class ArrayWrapperTests < Test::Unit::TestCase diff --git a/railties/test/application/initializers/frameworks_test.rb b/railties/test/application/initializers/frameworks_test.rb index 8e57022e5b..fadcc4c025 100644 --- a/railties/test/application/initializers/frameworks_test.rb +++ b/railties/test/application/initializers/frameworks_test.rb @@ -47,7 +47,7 @@ module ApplicationTests test "if there's no config.active_support.bare, all of ActiveSupport is required" do use_frameworks [] require "#{app_path}/config/environment" - assert_nothing_raised { [1,2,3].rand } + assert_nothing_raised { [1,2,3].random_element } end test "config.active_support.bare does not require all of ActiveSupport" do @@ -57,7 +57,7 @@ module ApplicationTests Dir.chdir("#{app_path}/app") do require "#{app_path}/config/environment" - assert_raises(NoMethodError) { [1,2,3].rand } + assert_raises(NoMethodError) { [1,2,3].random_element } end end