Пример метапрограммирования великолепен, но вы легко можете сломать код, который зависит от этой проверки. Я бы порекомендовал написать собственные методы доступа, которые модифицируют атрибут для работы с вашим гемом. Например, используйте код Весгаррисона и измените сеттер:
def token= token
@token = [56, 48, 40, 32, 24, 16, 8].each { |i| token.insert(i, ' ') }
end
Затем вы можете добавить этот код в модуль-обертку или дочерний класс, который вы используете в своем коде.