Возможно, вы изобретаете колесо.
IRB_Tools и Utility_Belt, которые используются для настройки IRB, предоставляют возможность использовать буфер обмена.Оба являются коллекциями существующих драгоценных камней, поэтому я выполнил быстрый поиск с использованием gem clipboard -r
и нашел:
clipboard (0.9.7)
win32-clipboard (0.5.2)
Глядя на RubyDoc.info для буфера обмена , открывается:
буфер обмена
Доступ к буферу обмена и не волнует, если ОС Linux, MacOS или Windows.
Использование
У вас есть Clipboard.copy,
Clipboard.paste и
Clipboard.clear
Веселитесь;)
РЕДАКТИРОВАТЬ: Если вы проверяете источник на связанной страницедля Mac вы увидите для копии:
def copy(data)
Open3.popen3( 'pbcopy' ){ |input,_,_| input << data }
paste
end
и для вставки вы увидите:
def paste(_ = nil)
`pbpaste`
end
и очистите просто:
def clear
copy ''
end
Это должно направить вас в правильном направлении.