Module: ActiveSupport::CoreExtensions::String::StartsEndsWith

Included in:
String
Defined in:
lib/active_support/core_ext/string/starts_ends_with.rb

Overview

Additional string tests.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.append_features(base) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/active_support/core_ext/string/starts_ends_with.rb', line 6

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

Instance Method Details

#ends_with?(suffix) ⇒ Boolean

Does the string end with the specified suffix?

Returns:

  • (Boolean)


27
28
29
# File 'lib/active_support/core_ext/string/starts_ends_with.rb', line 27

def ends_with?(suffix)
  suffix.respond_to?(:to_str) && self[-suffix.length, suffix.length] == suffix
end

#starts_with?(prefix) ⇒ Boolean

Does the string start with the specified prefix?

Returns:

  • (Boolean)


22
23
24
# File 'lib/active_support/core_ext/string/starts_ends_with.rb', line 22

def starts_with?(prefix)
  prefix.respond_to?(:to_str) && self[0, prefix.length] == prefix
end