From eb64759ac802ed07c773117c46e089d1afb10da8 Mon Sep 17 00:00:00 2001 From: John Bintz Date: Wed, 15 Sep 2010 18:05:34 -0400 Subject: [PATCH] list all possible environments --- Rakefile | 1 + lib/apache/rake/create.rb | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Rakefile b/Rakefile index 3414fbd..9099ac1 100644 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,7 @@ $LOAD_PATH << 'lib' require 'rubygems' +require 'yaml' require 'apache' require 'spec/rake/spectask' diff --git a/lib/apache/rake/create.rb b/lib/apache/rake/create.rb index 11d1fd4..0b4ddd1 100644 --- a/lib/apache/rake/create.rb +++ b/lib/apache/rake/create.rb @@ -1,16 +1,16 @@ require 'fileutils' +require 'yaml' require 'apache/config' require 'apache/rake/create' -require 'yaml' require 'rainbow' +CONFIG = Hash[YAML.load_file('config.yml').collect { |k,v| [ k.to_sym, v ] }] + namespace :apache do desc "Create all defined configs for the specified environment" task :create, :environment do |t, args| APACHE_ENV = (args[:environment] || 'production').to_sym - CONFIG = Hash[YAML.load_file('config.yml').collect { |k,v| [ k.to_sym, v ] }] - CONFIG[:source_path] = File.expand_path(CONFIG[:source]) CONFIG[:dest_path] = File.expand_path(CONFIG[:destination]) @@ -24,4 +24,13 @@ namespace :apache do require file end end + + desc "List all possible environments" + task :environments do + CONFIG[:source_path] = File.expand_path(CONFIG[:source]) + + puts Dir[File.join(CONFIG[:source_path], '**', '*.rb')].collect { |file| + File.readlines(file).find_all { |line| line[%r{(if_environment|build_if)}] }.collect { |line| line.scan(%r{:[a-z_]+}) } + }.flatten.uniq.sort.collect { |name| name[1..-1] } * "\n" + end end