Module: ActiveSupport::CoreExtensions::String::Access

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

Overview

Makes it easier to access parts of a string, such as specific characters and substrings.

Instance Method Summary collapse

Instance Method Details

#at(position) ⇒ Object

Returns the character at the position treating the string as an array (where 0 is the first character).

Examples:

"hello".at(0)  # => "h"
"hello".at(4)  # => "o"
"hello".at(10) # => nil

12
13
14
# File 'lib/active_support/core_ext/string/access.rb', line 12

def at(position)
  self[position, 1]
end

#first(limit = 1) ⇒ Object

Returns the first character of the string or the first limit characters.

Examples:

"hello".first     # => "h"
"hello".first(2)  # => "he"
"hello".first(10) # => "hello"

42
43
44
# File 'lib/active_support/core_ext/string/access.rb', line 42

def first(limit = 1)
  self[0..(limit - 1)]
end

#from(position) ⇒ Object

Returns the remaining of the string from the position treating the string as an array (where 0 is the first character).

Examples:

"hello".from(0)  # => "hello"
"hello".from(2)  # => "llo"
"hello".from(10) # => nil

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

def from(position)
  self[position..-1]
end

#last(limit = 1) ⇒ Object

Returns the last character of the string or the last limit characters.

Examples:

"hello".last     # => "o"
"hello".last(2)  # => "lo"
"hello".last(10) # => "hello"

52
53
54
# File 'lib/active_support/core_ext/string/access.rb', line 52

def last(limit = 1)
  self[(-limit)..-1]
end

#to(position) ⇒ Object

Returns the beginning of the string up to the position treating the string as an array (where 0 is the first character).

Examples:

"hello".to(0)  # => "h"
"hello".to(2)  # => "hel"
"hello".to(10) # => "hello"

32
33
34
# File 'lib/active_support/core_ext/string/access.rb', line 32

def to(position)
  self[0..position]
end