diff options
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.rb | 45 |
1 files changed, 14 insertions, 31 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 09f9a188b5..f65bb8f75b 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 @@ -1,35 +1,18 @@ -module ActiveSupport #:nodoc: - module CoreExtensions #:nodoc: - module String #:nodoc: - # Additional string tests. - module StartsEndsWith - 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 - - # Does the string start with the specified +prefix+? - def starts_with?(prefix) - prefix = prefix.to_s - self[0, prefix.length] == prefix - end +class String + unless '1.8.7 and up'.respond_to?(:start_with?) + # Does the string start with the specified +prefix+? + def start_with?(prefix) + prefix = prefix.to_s + self[0, prefix.length] == prefix + end - # Does the string end with the specified +suffix+? - def ends_with?(suffix) - suffix = suffix.to_s - self[-suffix.length, suffix.length] == suffix - end - end + # Does the string end with the specified +suffix+? + def end_with?(suffix) + suffix = suffix.to_s + self[-suffix.length, suffix.length] == suffix end end + + alias_method :starts_with?, :start_with? + alias_method :ends_with?, :end_with? end |