Ответ 1
Использование ruby-1.9.3 (подход может работать не в более старых версиях).
Я предполагаю, что файл выглядит так (скорректируйте код соответственно):
---
content:
session: 0
и называется /tmp/test.yml
Тогда код просто:
require 'yaml' # Built in, no gem required
d = YAML::load_file('/tmp/test.yml') #Load
d['content']['session'] = 2 #Modify
File.open('/tmp/test.yml', 'w') {|f| f.write d.to_yaml } #Store