Method: Sass::Script::Functions#str_insert
- Defined in:
- lib/sass/script/functions.rb
#str_insert($string, $insert, $index) ⇒ Sass::Script::Value::String
Inserts $insert into $string at $index.
Note that unlike some languages, the first character in a Sass string is number 1, the second number 2, and so forth.
1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 |
# File 'lib/sass/script/functions.rb', line 1568
def str_insert(original, insert, index)
assert_type original, :String, :string
assert_type insert, :String, :insert
assert_integer index, :index
assert_unit index, nil, :index
insertion_point = if index.to_i > 0
[index.to_i - 1, original.value.size].min
else
[index.to_i, -original.value.size - 1].max
end
result = original.value.dup.insert(insertion_point, insert.value)
Sass::Script::Value::String.new(result, original.type)
end
|