Специально не сделано, но в Mail gem есть метод для сериализации методов в YAML, а также для анализа сообщений из YAML. Это делается путем создания объекта Hash
и последующего сериализации этого объекта в JSON. Это также означает, что конвертировать в JSON должно быть легко.
Это выглядело бы так (иш) так ...
require 'json'
module Mail
class Message
def to_json(opts = {})
hash = {}
hash['headers'] = {}
header.fields.each do |field|
hash['headers'][field.name] = field.value
end
hash['delivery_handler'] = delivery_handler.to_s if delivery_handler
hash['transport_encoding'] = transport_encoding.to_s
special_variables = [:@header, :@delivery_handler, :@transport_encoding]
(instance_variables.map(&:to_sym) - special_variables).each do |var|
hash[var.to_s] = instance_variable_get(var)
end
hash.to_json(opts)
end
end
end
Из метода Message#to_yaml
драгоценного камня Микеля.
Вы можете использовать аналогичный подход на любом языке. Однако, если вы используете Ruby, это отлично подойдет для вашего существующего инструментария (самоцветы Mail).