У меня есть базовая структура для веб-приложения (некоторые статические страницы, аутентификация пользователя, базовое тестирование с помощью rpec).Я хотел бы использовать это в качестве основы для будущих веб-приложений.Я назвал свой проект «фреймворк», поэтому, если я раскошелюлся, у меня будет около десятка случаев, когда мне придется заменить термин «фреймворк» названием нового приложения, которое я создаю.Этот проект выглядит как github.com / bnd5k / framework .Файл README содержит список файлов, в которые мне нужно внести изменения.Я могу внести эти изменения вручную, но я бы предпочел автоматизировать этот процесс.Я полагаю, что проще всего было бы включить файл rake в Framework.Итак, я создал рейк-файл под названием renamer.rake.Мой рейк-файл основан на этом посте: Как найти в тексте файла шаблон и заменить его заданным значением .Вот что я придумал.
task :rename do
file_names = ['config/environments/test.rb', 'config/environments/production.rb',
'config/environment.rb']
file_names.each do |file_name|
text = File.read(file_name)
puts text.gsub("Framework", "funktrunkgunk")
end
end
Этот код работает, поскольку он заменяет термин «каркас» другим термином, но только в консоли.Мне это нужно, чтобы фактически изменить содержимое файлов.Что мне нужно сделать?Нужно ли мне открывать каждый файл вместо того, чтобы просто прочитать его?
К вашему сведению, в этом коде перечислено только несколько файлов (просто чтобы я мог проверить, работает ли этот метод), и термин замены в конечном итоге будет переменной,не «Funktrunkgunk».После того, как я получу эту часть, я хотел бы настроить ее так, чтобы любой мог клонировать репозиторий Framework на свою машину, перейти в каталог Framework, запустить сервер rails, а затем перейти на локальный хост в своем браузере, чтобы переименовать файл изтам.Я настрою public / index.html, чтобы он был базовой страницей, содержащей поле формы, где пользователь может ввести свое собственное имя для приложения.Как только пользователь нажмет кнопку «Имя приложения», он запустит файл rake.Это звучит выполнимо?