aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext
diff options
context:
space:
mode:
authorRizwan Reza <rizwanreza@gmail.com>2010-05-17 02:40:15 +0430
committerRizwan Reza <rizwanreza@gmail.com>2010-05-17 02:40:15 +0430
commitd148a6f6ba5f8ee65905f12cd2601fcc377d4852 (patch)
tree4bcb5e7ad47cfb9a9bb14ffe7c9e003d4646d64c /activesupport/lib/active_support/core_ext
parente1c773006969abea3c0619fbdc7e32c121b6085f (diff)
parent6b4e0cc526f55b5532cf99292c94f0a4db53b16f (diff)
downloadrails-d148a6f6ba5f8ee65905f12cd2601fcc377d4852.tar.gz
rails-d148a6f6ba5f8ee65905f12cd2601fcc377d4852.tar.bz2
rails-d148a6f6ba5f8ee65905f12cd2601fcc377d4852.zip
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'activesupport/lib/active_support/core_ext')
-rw-r--r--activesupport/lib/active_support/core_ext/array/random_access.rb12
-rw-r--r--activesupport/lib/active_support/core_ext/date/calculations.rb21
-rw-r--r--activesupport/lib/active_support/core_ext/logger.rb2
-rw-r--r--activesupport/lib/active_support/core_ext/object/with_options.rb2
-rw-r--r--activesupport/lib/active_support/core_ext/time/calculations.rb14
5 files changed, 42 insertions, 9 deletions
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 343003f6f7..5338836b29 100644
--- a/activesupport/lib/active_support/core_ext/array/random_access.rb
+++ b/activesupport/lib/active_support/core_ext/array/random_access.rb
@@ -1,6 +1,16 @@
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 rand
+ def random_element
self[Kernel.rand(length)]
end
end
diff --git a/activesupport/lib/active_support/core_ext/date/calculations.rb b/activesupport/lib/active_support/core_ext/date/calculations.rb
index 3038729d34..755d96ce91 100644
--- a/activesupport/lib/active_support/core_ext/date/calculations.rb
+++ b/activesupport/lib/active_support/core_ext/date/calculations.rb
@@ -2,6 +2,7 @@ require 'date'
require 'active_support/duration'
require 'active_support/core_ext/time/zones'
require 'active_support/core_ext/object/acts_like'
+require 'active_support/deprecation'
class Date
if RUBY_VERSION < '1.9'
@@ -146,20 +147,30 @@ class Date
advance(:years => years)
end
- # Short-hand for years_ago(1)
- def last_year
- years_ago(1)
+ def last_year # :nodoc:
+ ActiveSupport::Deprecation.warn("Date#last_year has been deprecated, please use Date#prev_year instead", caller)
+ prev_year
end
+ # Shorthand for years_ago(1)
+ def prev_year
+ years_ago(1)
+ end unless method_defined?(:prev_year)
+
# Short-hand for years_since(1)
def next_year
years_since(1)
end unless method_defined?(:next_year)
+ def last_month # :nodoc:
+ ActiveSupport::Deprecation.warn("Date#last_month has been deprecated, please use Date#prev_month instead", caller)
+ prev_month
+ end
+
# Short-hand for months_ago(1)
- def last_month
+ def prev_month
months_ago(1)
- end
+ end unless method_defined?(:prev_month)
# Short-hand for months_since(1)
def next_month
diff --git a/activesupport/lib/active_support/core_ext/logger.rb b/activesupport/lib/active_support/core_ext/logger.rb
index 22749229a3..c4994ca2ee 100644
--- a/activesupport/lib/active_support/core_ext/logger.rb
+++ b/activesupport/lib/active_support/core_ext/logger.rb
@@ -3,7 +3,7 @@ require 'active_support/core_ext/class/attribute_accessors'
# Adds the 'around_level' method to Logger.
class Logger #:nodoc:
def self.define_around_helper(level)
- module_eval <<-end_eval
+ module_eval <<-end_eval, __FILE__, __LINE__ + 1
def around_#{level}(before_message, after_message, &block) # def around_debug(before_message, after_message, &block)
self.#{level}(before_message) # self.debug(before_message)
return_value = block.call(self) # return_value = block.call(self)
diff --git a/activesupport/lib/active_support/core_ext/object/with_options.rb b/activesupport/lib/active_support/core_ext/object/with_options.rb
index dd38b7d261..3209cf7f11 100644
--- a/activesupport/lib/active_support/core_ext/object/with_options.rb
+++ b/activesupport/lib/active_support/core_ext/object/with_options.rb
@@ -1,3 +1,5 @@
+require 'active_support/option_merger'
+
class Object
# An elegant way to factor duplication out of options passed to a series of
# method calls. Each method called in the block, with the block variable as
diff --git a/activesupport/lib/active_support/core_ext/time/calculations.rb b/activesupport/lib/active_support/core_ext/time/calculations.rb
index 2b47ecd543..e27b08ec2e 100644
--- a/activesupport/lib/active_support/core_ext/time/calculations.rb
+++ b/activesupport/lib/active_support/core_ext/time/calculations.rb
@@ -2,6 +2,7 @@ require 'active_support/duration'
require 'active_support/core_ext/date/acts_like'
require 'active_support/core_ext/date/calculations'
require 'active_support/core_ext/date_time/conversions'
+require 'active_support/deprecation'
class Time
COMMON_YEAR_DAYS_IN_MONTH = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
@@ -132,8 +133,13 @@ class Time
advance(:years => years)
end
+ def last_year # :nodoc:
+ ActiveSupport::Deprecation.warn("Time#last_year has been deprecated, please use Time#prev_year instead", caller)
+ prev_year
+ end
+
# Short-hand for years_ago(1)
- def last_year
+ def prev_year
years_ago(1)
end
@@ -142,9 +148,13 @@ class Time
years_since(1)
end
+ def last_month # :nodoc:
+ ActiveSupport::Deprecation.warn("Time#last_month has been deprecated, please use Time#prev_month instead", caller)
+ prev_month
+ end
# Short-hand for months_ago(1)
- def last_month
+ def prev_month
months_ago(1)
end