From 594e8a6284b20ebd73cb9253dd6b016d90b35965 Mon Sep 17 00:00:00 2001 From: elijah Date: Wed, 13 Feb 2013 00:28:05 -0800 Subject: allow multiple mount point directories as fall back. this makes deploying easier. --- lib/site_mount_point.rb | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/site_mount_point.rb b/lib/site_mount_point.rb index 0b8224a..3cc9cef 100644 --- a/lib/site_mount_point.rb +++ b/lib/site_mount_point.rb @@ -14,12 +14,7 @@ class SiteMountPoint attr_accessor :timestamp def initialize(site_config, directory_source, options={}) - if directory_source.starts_with?('/') - @directory = directory_source - else - @directory = File.expand_path(directory_source, File.dirname(site_config.file_path)) - end - + @directory = find_directory(site_config, directory_source) @path = options[:path] @relative_directory = relative_dir_path(@directory) @menu_file = file_path('menu.txt') @@ -56,4 +51,23 @@ class SiteMountPoint end end + def find_directory(site_config, directory_source) + directory = nil + [directory_source].flatten.each do |dir_source| + if dir_source.starts_with?('/') + directory = dir_source + else + directory = File.expand_path(dir_source, File.dirname(site_config.file_path)) + end + if Dir.exists?(directory) + break + end + end + if Dir.exists?(directory) + return directory + else + raise 'FATAL ERROR: could find any of %s' % directory_source.join(', ') + end + end + end \ No newline at end of file -- cgit v1.2.3