Получить/итерировать вики-контент Redmine и вернуть его?

Я пытаюсь создать простой плагин, который берет текущее содержимое вики-страницы и сопоставляет/заменяет каждый раз, когда слово встречается с помощью регулярного выражения. Сама часть регулярного выражения проста, меня больше интересует, как получить/итерировать содержимое вики. и верните его после замены. Как я могу это сделать?

Спасибо!

Деннис


person FLX    schedule 08.02.2011    source источник


Ответы (1)


Если вы пишете плагин, я уверен, вы знаете, что его исходный код доступен на github, и если вы проверяете, что можете использовать модели, которые они уже предоставляют. Я не проверял, но похоже, если вы:

require "#{path_to_redmine_source}/app/models/wiki_content"
WikiContent.all.each do |post|
  post.text.gsub!(/important_data/, "nonsense")
  post.save!
end

это должно работать, и он будет использовать любой адаптер, который уже настроен redmine. Однако для этого потребуется загрузить все плагины, которые использует Redmine, что может быть отстойным.

person rm-rf    schedule 08.02.2011
comment
Потрясающе, спасибо за это! Для меня не проблема, что он загружает все плагины, я могу посмотреть это позже. Я пытался заставить его работать, вставив важные_данные в вики и используя следующий код: paste .enzotools.org/show/1500 - у меня не работает, знаете, что я делаю не так? Спасибо! Деннис - person FLX; 10.02.2011
comment
Еще раз я не проверял, но я отредактировал свой пост и думаю, что он может работать лучше. Я удалил post.text = и добавил ! to post.save, который вызовет ошибку, если что-то пойдет не так. Надеюсь, это поможет. - person rm-rf; 11.02.2011