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)

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

def ends_with?(suffix)
  suffix = suffix.to_s
  self[-suffix.length, suffix.length] == suffix      
end

#starts_with?(prefix) ⇒ Boolean

Does the string start with the specified prefix?

Returns:

  • (Boolean)

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

def starts_with?(prefix)
  prefix = prefix.to_s
  self[0, prefix.length] == prefix
end