Попробуйте scan
вместо:
$ irb
>> "abcd1234beefcake".scan(/..../)
=> ["abcd", "1234", "beef", "cake"]
или
>> "abcd1234beefcake".scan(/.{4}/)
=> ["abcd", "1234", "beef", "cake"]
Если количество символов не делится на 4, вы также можете получить оставшиеся символы:
>> "abcd1234beefcakexyz".scan(/.{1,4}/)
=> ["abcd", "1234", "beef", "cake", "xyz"]
({1,4}
будет жадно захватывать от 1 до 4 символов)