def hollow(text, minimum_length = 4, edge_length = 3) return text if text.length < minimum_length or text.length <= edge_length*2 edge = '.'*edge_length mid_length = text.length - edge_length*2 text.gsub(/(#{edge}).{#{mid_length},}(#{edge})/, '\1...\2') end