# File lib/active_support/multibyte/chars.rb, line 172 def insert(offset, fragment) unpacked = self.class.u_unpack(@wrapped_string) unless offset > unpacked.length @wrapped_string.replace( self.class.u_unpack(@wrapped_string).insert(offset, *self.class.u_unpack(fragment)).pack('U*') ) else raise IndexError, "index #{offset} out of string" end self end