]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/web/definitions/rails_port.rb
Replace content_from_file extension with simpler edit_file technique
[chef.git] / cookbooks / web / definitions / rails_port.rb
index ba022fc3c3c305002e897bc90ba29761bd935634..be6e0be2260f12718ee13aeab8c1eb2a04c76e80 100644 (file)
@@ -145,72 +145,74 @@ define :rails_port, :action => [ :create, :enable ] do
     notifies :touch, resources(:file => "#{rails_directory}/tmp/restart.txt")
   end
 
-  file "#{rails_directory}/config/application.yml" do
-    owner rails_user
-    group rails_group
-    mode 0664
-    content_from_file "#{rails_directory}/config/example.application.yml" do |line|
-      line.gsub!(/^( *)server_url:.*$/, "\\1server_url: \"#{name}\"")
+  application_yml = edit_file "#{rails_directory}/config/example.application.yml" do |line|
+    line.gsub!(/^( *)server_url:.*$/, "\\1server_url: \"#{name}\"")
 
-      if params[:email_from]
-        line.gsub!(/^( *)email_from:.*$/, "\\1email_from: \"#{params[:email_from]}\"")
-      end
+    if params[:email_from]
+      line.gsub!(/^( *)email_from:.*$/, "\\1email_from: \"#{params[:email_from]}\"")
+    end
 
-      line.gsub!(/^( *)status:.*$/, "\\1status: :#{status}")
+    line.gsub!(/^( *)status:.*$/, "\\1status: :#{status}")
 
-      if params[:messages_domain]
-        line.gsub!(/^( *)#messages_domain:.*$/, "\\1messages_domain: \"#{params[:messages_domain]}\"")
-      end
+    if params[:messages_domain]
+      line.gsub!(/^( *)#messages_domain:.*$/, "\\1messages_domain: \"#{params[:messages_domain]}\"")
+    end
 
-      line.gsub!(/^( *)#geonames_username:.*$/, "\\1geonames_username: \"openstreetmap\"")
+    line.gsub!(/^( *)#geonames_username:.*$/, "\\1geonames_username: \"openstreetmap\"")
 
-      if params[:quova_username]
-        line.gsub!(/^( *)#quova_username:.*$/, "\\1quova_username: \"#{params[:quova_username]}\"")
-        line.gsub!(/^( *)#quova_password:.*$/, "\\1quova_password: \"#{params[:quova_password]}\"")
-      end
+    if params[:quova_username]
+      line.gsub!(/^( *)#quova_username:.*$/, "\\1quova_username: \"#{params[:quova_username]}\"")
+      line.gsub!(/^( *)#quova_password:.*$/, "\\1quova_password: \"#{params[:quova_password]}\"")
+    end
 
-      if params[:soft_memory_limit]
-        line.gsub!(/^( *)#soft_memory_limit:.*$/, "\\1soft_memory_limit: #{params[:soft_memory_limit]}")
-      end
+    if params[:soft_memory_limit]
+      line.gsub!(/^( *)#soft_memory_limit:.*$/, "\\1soft_memory_limit: #{params[:soft_memory_limit]}")
+    end
 
-      if params[:hard_memory_limit]
-        line.gsub!(/^( *)#hard_memory_limit:.*$/, "\\1hard_memory_limit: #{params[:hard_memory_limit]}")
-      end
+    if params[:hard_memory_limit]
+      line.gsub!(/^( *)#hard_memory_limit:.*$/, "\\1hard_memory_limit: #{params[:hard_memory_limit]}")
+    end
 
-      if params[:gpx_dir]
-        line.gsub!(/^( *)gpx_trace_dir:.*$/, "\\1gpx_trace_dir: \"#{params[:gpx_dir]}/traces\"")
-        line.gsub!(/^( *)gpx_image_dir:.*$/, "\\1gpx_image_dir: \"#{params[:gpx_dir]}/images\"")
-      end
+    if params[:gpx_dir]
+      line.gsub!(/^( *)gpx_trace_dir:.*$/, "\\1gpx_trace_dir: \"#{params[:gpx_dir]}/traces\"")
+      line.gsub!(/^( *)gpx_image_dir:.*$/, "\\1gpx_image_dir: \"#{params[:gpx_dir]}/images\"")
+    end
 
-      if params[:attachments_dir]
-        line.gsub!(/^( *)attachments_dir:.*$/, "\\1attachments_dir: \"#{params[:attachments_dir]}\"")
-      end
+    if params[:attachments_dir]
+      line.gsub!(/^( *)attachments_dir:.*$/, "\\1attachments_dir: \"#{params[:attachments_dir]}\"")
+    end
 
-      if params[:log_path]
-        line.gsub!(/^( *)#log_path:.*$/, "\\1log_path: \"#{params[:log_path]}\"")
-      end
+    if params[:log_path]
+      line.gsub!(/^( *)#log_path:.*$/, "\\1log_path: \"#{params[:log_path]}\"")
+    end
 
-      if params[:memcache_servers]
-        line.gsub!(/^( *)#memcache_servers:.*$/, "\\1memcache_servers: [ \"#{params[:memcache_servers].join("\", \"")}\" ]")
-      end
+    if params[:memcache_servers]
+      line.gsub!(/^( *)#memcache_servers:.*$/, "\\1memcache_servers: [ \"#{params[:memcache_servers].join("\", \"")}\" ]")
+    end
 
-      if params[:potlatch2_key]
-        line.gsub!(/^( *)#potlatch2_key:.*$/, "\\1potlatch2_key: \"#{params[:potlatch2_key]}\"")
-      end
+    if params[:potlatch2_key]
+      line.gsub!(/^( *)#potlatch2_key:.*$/, "\\1potlatch2_key: \"#{params[:potlatch2_key]}\"")
+    end
 
-      if params[:id_key]
-        line.gsub!(/^( *)#id_key:.*$/, "\\1id_key: \"#{params[:id_key]}\"")
-      end
+    if params[:id_key]
+      line.gsub!(/^( *)#id_key:.*$/, "\\1id_key: \"#{params[:id_key]}\"")
+    end
 
-      if params[:oauth_key]
-        line.gsub!(/^( *)#oauth_key:.*$/, "\\1oauth_key: \"#{params[:oauth_key]}\"")
-      end
+    if params[:oauth_key]
+      line.gsub!(/^( *)#oauth_key:.*$/, "\\1oauth_key: \"#{params[:oauth_key]}\"")
+    end
 
-      line.gsub!(/^( *)require_terms_seen:.*$/, "\\1require_terms_seen: true")
-      line.gsub!(/^( *)require_terms_agreed:.*$/, "\\1require_terms_agreed: true")
+    line.gsub!(/^( *)require_terms_seen:.*$/, "\\1require_terms_seen: true")
+    line.gsub!(/^( *)require_terms_agreed:.*$/, "\\1require_terms_agreed: true")
 
-      line
-    end
+    line
+  end
+
+  file "#{rails_directory}/config/application.yml" do
+    owner rails_user
+    group rails_group
+    mode 0664
+    content application_yml
     notifies :touch, resources(:file => "#{rails_directory}/tmp/restart.txt")
   end