Я работаю над приложением, которое можно загрузить, и, как только пользователь запустит файл rake, переименует исходное приложение в имя, которое он даст.Какой лучший способ сделать это?
Вот подробности.Приложение находится здесь: github.com / bnd5k / framework .Это базовое веб-приложение (имеет домашние страницы, аутентификацию пользователя, настройку тестирования).Я хотел бы настроить его так, чтобы пользователь клонировал репозиторий "Framework", компакт-диски в этот каталог и запускал задачу rake, которая выполняет переименование.Но каким-то образом мне нужен файл rake, чтобы спросить пользователя, что они хотят, в качестве нового имени для своего приложения.Вот где я застрял
В текущей версии этого проекта я делаю это переименование через представления.Пользователь запускает localhost, а затем в своем браузере по умолчанию используется имя Namer / new.Там они переименовывают приложение, а контроллер Namer переименовывает все необходимые файлы.Проблема в том, что происходит сбой в точке, в которой имя приложения изменяется в файле маршрутов.Итак, на данный момент, я полагаю, что мне следует полностью избегать проблемы с графическим интерфейсом и просто дать пользователю изменить имя в терминале.Если вы не согласны, дайте мне знать.Любые предложения будут полезны.
ОБНОВЛЕНИЕ: Итак, я пошел с комментарием Марка ниже и просто требую, чтобы пользователь ввел новое имя как часть аргумента.Мой код работает ... Сорта.Когда я набираю это: rake rename: changename [Funk], код ниже меняет имя.К сожалению, он меняет имя на «новое_имение» вместо «фанк».Любые идеи о том, что я иду не так?
namespace :rename do
desc 'changes the name of the app'
task :changename, :new_name 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)
File.open(file_name, "w") { |file| file << text.gsub("Framework", :new_name.to_s) }
end
end
end