Как изменить sexp из парсера ruby
Я работаю с гемом ruby_parser . Каков наилучший / правильный способ изменить полученный sexp после синтаксического анализа кода Ruby?
например, анализ кода
def foo
puts "foo"
end
приводит к
s(:defn, :foo, s(:args), s(:call, nil, :puts, s(:str, "foo")))
И я хочу написать общую функцию, которая изменяет результирующий sexp и меняет имя метода, например, на «bar»
s(:defn, :bar, s(:args), s(:call, nil, :puts, s(:str, "foo")))
цель состоит в том, чтобы я мог автоматически изменять код, например, имена методов