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

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

Overview

:nodoc:

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



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

def at(position)
  mb_chars[position, 1].to_s
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"



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

def first(limit = 1)
  mb_chars[0..(limit - 1)].to_s
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



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

def from(position)
  mb_chars[position..-1].to_s
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"



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

def last(limit = 1)
  (mb_chars[(-limit)..-1] || self).to_s
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"



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

def to(position)
  mb_chars[0..position].to_s
end