Convert String conversions, filters, starts/ends_with, and multibyte extension modules to class reopen
This commit is contained in:
parent
fce68161a4
commit
83a89b8e85
@ -1,22 +1,19 @@
|
||||
# encoding: utf-8
|
||||
|
||||
require 'active_support/core_ext/string/inflections'
|
||||
require 'active_support/core_ext/string/conversions'
|
||||
require 'active_support/core_ext/string/access'
|
||||
require 'active_support/core_ext/string/starts_ends_with'
|
||||
require 'active_support/core_ext/string/iterators'
|
||||
require 'active_support/core_ext/string/multibyte'
|
||||
require 'active_support/core_ext/string/xchar'
|
||||
require 'active_support/core_ext/string/filters'
|
||||
require 'active_support/core_ext/string/multibyte'
|
||||
require 'active_support/core_ext/string/starts_ends_with'
|
||||
|
||||
require 'active_support/core_ext/string/inflections'
|
||||
require 'active_support/core_ext/string/access'
|
||||
require 'active_support/core_ext/string/iterators'
|
||||
require 'active_support/core_ext/string/xchar'
|
||||
require 'active_support/core_ext/string/behavior'
|
||||
|
||||
class String #:nodoc:
|
||||
include ActiveSupport::CoreExtensions::String::Access
|
||||
include ActiveSupport::CoreExtensions::String::Conversions
|
||||
include ActiveSupport::CoreExtensions::String::Filters
|
||||
include ActiveSupport::CoreExtensions::String::Inflections
|
||||
include ActiveSupport::CoreExtensions::String::StartsEndsWith
|
||||
include ActiveSupport::CoreExtensions::String::Iterators
|
||||
include ActiveSupport::CoreExtensions::String::Behavior
|
||||
include ActiveSupport::CoreExtensions::String::Multibyte
|
||||
end
|
||||
|
@ -1,10 +1,6 @@
|
||||
require 'date'
|
||||
|
||||
module ActiveSupport #:nodoc:
|
||||
module CoreExtensions #:nodoc:
|
||||
module String #:nodoc:
|
||||
# Converting strings to other objects
|
||||
module Conversions
|
||||
class String
|
||||
# 'a'.ord == 'a'[0] for Ruby 1.9 forward compatibility.
|
||||
def ord
|
||||
self[0]
|
||||
@ -22,7 +18,4 @@ def to_date
|
||||
def to_datetime
|
||||
::DateTime.civil(*::Date._parse(self, false).values_at(:year, :mon, :mday, :hour, :min, :sec).map { |arg| arg || 0 })
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,7 +1,4 @@
|
||||
module ActiveSupport #:nodoc:
|
||||
module CoreExtensions #:nodoc:
|
||||
module String #:nodoc:
|
||||
module Filters
|
||||
class String
|
||||
# Returns the string, first removing all whitespace on both ends of
|
||||
# the string, and then changing remaining consecutive whitespace
|
||||
# groups into one space each.
|
||||
@ -20,7 +17,4 @@ def squish!
|
||||
gsub!(/\s+/, ' ')
|
||||
self
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,10 +1,6 @@
|
||||
# encoding: utf-8
|
||||
|
||||
module ActiveSupport #:nodoc:
|
||||
module CoreExtensions #:nodoc:
|
||||
module String #:nodoc:
|
||||
# Implements multibyte methods for easier access to multibyte characters in a String instance.
|
||||
module Multibyte
|
||||
class String
|
||||
unless '1.9'.respond_to?(:force_encoding)
|
||||
# == Multibyte proxy
|
||||
#
|
||||
@ -75,7 +71,4 @@ def is_utf8? #:nodoc
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -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
|
||||
|
||||
class String
|
||||
unless '1.8.7 and up'.respond_to?(:start_with?)
|
||||
# Does the string start with the specified +prefix+?
|
||||
def starts_with?(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)
|
||||
def end_with?(suffix)
|
||||
suffix = suffix.to_s
|
||||
self[-suffix.length, suffix.length] == suffix
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
alias_method :starts_with?, :start_with?
|
||||
alias_method :ends_with?, :end_with?
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user