aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2008-04-20 17:52:21 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2008-04-20 19:56:01 -0700
commit549c81db4a9ca941ea65ae2edafb0f34784f12f2 (patch)
tree79de15ba2ae898be4f335e9180697f9fe2da4dfa /activesupport/lib/active_support/core_ext/string/starts_ends_with.rb
parent2b69840e5efba885c8ec6281d5b8a56fcabff283 (diff)
downloadrails-549c81db4a9ca941ea65ae2edafb0f34784f12f2.tar.gz
rails-549c81db4a9ca941ea65ae2edafb0f34784f12f2.tar.bz2
rails-549c81db4a9ca941ea65ae2edafb0f34784f12f2.zip
Ruby 1.8.7 compat: String#start_with? and #end_with?
Diffstat (limited to 'activesupport/lib/active_support/core_ext/string/starts_ends_with.rb')
-rw-r--r--activesupport/lib/active_support/core_ext/string/starts_ends_with.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb b/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb
index 3960669798..09f9a188b5 100644
--- a/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb
+++ b/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb
@@ -3,10 +3,18 @@ module ActiveSupport #:nodoc:
module String #:nodoc:
# Additional string tests.
module StartsEndsWith
- def self.included(base)
- base.class_eval do
- alias_method :start_with?, :starts_with?
- alias_method :end_with?, :ends_with?
+ def self.append_features(base)
+ if '1.8.7 and up'.respond_to?(:start_with?)
+ base.class_eval do
+ alias_method :starts_with?, :start_with?
+ alias_method :ends_with?, :end_with?
+ end
+ else
+ super
+ base.class_eval do
+ alias_method :start_with?, :starts_with?
+ alias_method :end_with?, :ends_with?
+ end
end
end