# File lib/whiskey_disk/config.rb, line 73 def base_path path || find_rakefile_from_current_path end
# File lib/whiskey_disk/config.rb, line 21 def check_staleness? env_flag_is_true?('check') end
called only by load_data
# File lib/whiskey_disk/config.rb, line 89 def configuration_data open(configuration_file) {|f| f.read } end
# File lib/whiskey_disk/config.rb, line 25 def configuration_file return path if valid_path?(path) files = [] files += [ File.join(base_path, 'deploy', specified_project_name, "#{environment_name}.yml"), # /deploy/foo/staging.yml File.join(base_path, 'deploy', "#{specified_project_name}.yml") # /deploy/foo.yml ] if specified_project_name files += [ File.join(base_path, 'deploy', "#{environment_name}.yml"), # /deploy/staging.yml File.join(base_path, "#{environment_name}.yml"), # /staging.yml File.join(base_path, 'deploy.yml') # /deploy.yml ] files.each { |file| return file if File.exists?(file) } raise "Could not locate configuration file in path [#{base_path}]" end
# File lib/whiskey_disk/config.rb, line 58 def contains_rakefile?(path) File.exists?(File.expand_path(File.join(path, 'Rakefile'))) end
# File lib/whiskey_disk/config.rb, line 13 def debug? env_flag_is_true?('debug') end
# File lib/whiskey_disk/config.rb, line 17 def domain_limit env_key_or_false?('only') end
# File lib/whiskey_disk/config.rb, line 46 def environment_name return false unless env_has_key?('to') return ENV['to'] unless ENV['to'] =~ /:/ ENV['to'].split(/:/)[1] end
# File lib/whiskey_disk/config.rb, line 8 def fetch raise "Cannot determine current environment -- try rake ... to=staging, for example." unless environment_name filter_data(load_data) end
# File lib/whiskey_disk/config.rb, line 100 def filter @filter ||= WhiskeyDisk::Config::Filter.new(self) end
called only by fetch
# File lib/whiskey_disk/config.rb, line 105 def filter_data(data) filter.filter_data(data) end
# File lib/whiskey_disk/config.rb, line 62 def find_rakefile_from_current_path original_path = Dir.pwd while (!contains_rakefile?(Dir.pwd)) return File.join(original_path, 'config') if Dir.pwd == '/' Dir.chdir('..') end File.join(Dir.pwd, 'config') ensure Dir.chdir(original_path) end
called only by fetch
# File lib/whiskey_disk/config.rb, line 94 def load_data YAML.load(configuration_data) rescue Exception => e raise %Q{Error reading configuration file [#{configuration_file}]: "#{e}"} end
# File lib/whiskey_disk/config.rb, line 84 def project_name specified_project_name || 'unnamed_project' end
# File lib/whiskey_disk/config.rb, line 52 def specified_project_name return false unless env_has_key?('to') return false unless ENV['to'] =~ /:/ ENV['to'].split(/:/).first end
# File lib/whiskey_disk/config.rb, line 77 def valid_path?(path) return false unless path uri = URI.parse(path) return path if uri.scheme return path if File.file?(path) end
# File lib/whiskey_disk/config.rb, line 119 def env_flag_is_true?(key) !!(env_has_key?(key) && ENV[key] =~ /^(?:t(?:rue)?|y(?:es)?|1)$/) end
# File lib/whiskey_disk/config.rb, line 115 def env_has_key?(key) ENV[key] && ENV[key] != '' end
# File lib/whiskey_disk/config.rb, line 123 def env_key_or_false?(key) env_has_key?(key) ? ENV[key] : false end
# File lib/whiskey_disk/config.rb, line 111 def path env_key_or_false?('path') end