public
Fork of defunkt/nginx_config_generator
Description: Generates nginx config files from YAML.
Homepage: http://errtheblog.com/posts/52-nginx-config-like-whoa
Clone URL: git://github.com/bmizerany/nginx_config_generator.git
nginx: fix borkd gem
defunkt (author)
Thu Aug 23 18:04:23 -0700 2007
commit  13338628acc485c05d408d0837a3cda08fdf1828
tree    f87b64a03a32923d9de8a420e58c1e6d34de9c75
parent  c6cd3ca5cca8d4ae744de94d8b07b96ba3714be0
...
1
2
3
4
 
5
6
7
...
1
2
3
 
4
5
6
7
0
@@ -1,7 +1,7 @@
0
 require 'rubygems'
0
 require 'echoe'
0
 
0
-Echoe.new('nginx_config_generator', '1.2') do |p|
0
+Echoe.new('nginx_config_generator', '1.3') do |p|
0
   p.rubyforge_name = 'err'
0
   p.author = 'Chris Wanstrath'
0
   p.email = 'chris@ozmm.org'
...
60
61
62
 
63
64
65
...
60
61
62
63
64
65
66
0
@@ -60,6 +60,7 @@ ssl_sites:
0
       - 127.0.0.1:8000
0
       - 127.0.0.1:8001
0
     no_www: true
0
+ server_name: errtheblog.com
0
     # Just strings that get spit out as rewrites
0
     rewrites:
0
       - ^/feed/feedburner http://feeds.feedburner.com/errtheblog
...
53
54
55
56
57
 
 
58
59
 
60
61
 
62
63
64
65
66
67
 
68
69
70
...
53
54
55
 
 
56
57
58
 
59
60
 
61
62
63
64
65
66
 
67
68
69
70
0
@@ -53,18 +53,18 @@ http {
0
   # this is where you define your mongrel clusters.
0
   # you need one of these blocks for each cluster
0
   # and each one needs its own name to refer to it later.
0
-<% config['sites'].each do |name, site| %>
0
-<% next unless site['upstream'] %>
0
+<% Array(config['sites']).each do |name, site| %>
0
+ <% next unless site['upstream'] %>
0
   upstream <%= name %> {
0
-<% Array(site['upstream'] || site['upstreams']).each do |server| %>
0
+ <% Array(site['upstream'] || site['upstreams']).each do |server| %>
0
     server <%= server %>;
0
-<% end %>
0
+ <% end %>
0
   }
0
 <% end %>
0
 
0
 <% %w(sites ssl_sites).each do |site_type| %>
0
   
0
-<% config[site_type].each do |name, site| %>
0
+<% Array(config[site_type]).each do |name, site| %>
0
   # the server directive is nginx's virtual host directive.
0
   server {
0
     
...
14
15
16
17
 
18
19
 
20
21
22
23
24
25
 
26
27
...
14
15
16
 
17
18
 
19
20
21
22
23
24
 
25
26
27
0
@@ -14,14 +14,14 @@ env_out = ENV['NGINX_CONFIG_FILE']
0
 
0
 error "Usage: generate_nginx_config [config file] [out file]" if ARGV.empty? && !env_in
0
 
0
-overwrite = !(%w(-y -o -f --force --overwrite) & ARGV).empty?
0
+overwrite = %w(-y -o -f --force --overwrite).any? { |f| ARGV.delete(f) }
0
 
0
-config = YAML.load(ERB.new(env_in || ARGV.shift || 'config.yml').result)
0
+config = YAML.load_file(ERB.new(env_in || ARGV.shift || 'config.yml').result)
0
 template = file:'nginx.erb'
0
 
0
 if File.exists?(out_file = env_out || ARGV.shift || 'nginx.conf') && !overwrite
0
   error "=> #{out_file} already exists, won't overwrite it. Quitting."
0
 else
0
- open(out_file, 'w+').write(ERB.new(File.read(template), nil, '>').result)
0
+ open(out_file, 'w+').write(ERB.new(File.read(template), nil, '>').result(binding))
0
   error "=> Wrote #{out_file} successfully."
0
 end

Comments

    No one has commented yet.