Я пытаюсь придумать механизм, который будет проверять, существует ли список известных каталогов перед их созданием в системе.
Для этого я написал следующее: но на самом деле это не работает. Я полагаю, что должна быть проблема с каждым циклом, но я не мог решить ее самостоятельно.
Я хотел бы убедиться, что ни один из каталогов в массиве не существует перед созданием.
Большое спасибо за вашу помощь!
method_options path: :string
def create_folders
if profile_folders_exist?
puts "Profile folders exist already"
else
copy_profile_folders
puts "Profile folders created successfully"
end
end
private
def profile_folders_exist?
profile_folders.each do |f|
File.directory?(File.join(install_path, f))
end
end
def profile_folders
return ["Pictures", "Notes", "Signatures"]
end
def install_path
Pathname.new(options[:path].to_s)
end
profile_folders_exist?
. Вы не возвращаете результатFile.dictionary?
- person Yevgeniy Anfilofyev   schedule 16.01.2015all?
вместо изeach
внутриprofile_folders_exist?
. - person toro2k   schedule 16.01.2015return
передFile.directory?
решило проблемы. Хотя я не уверен, как использовать методall?
здесь. Есть ли способ написать это более правильно? - person makabde   schedule 16.01.2015return
передFile.directory?
не решает проблему. Он немедленно выйдет из цикла.all?
- единственное правильное предложение. Просто изменитеeach
наall?
. - person Aleksei Matiushkin   schedule 16.01.2015each
наall
, но он создаст папки, даже если они уже существуют, что на самом деле не то, что мне нужно. Аreturn
на самом деле решал проблему. - person makabde   schedule 16.01.2015