Class MoonshineSetupManifest

  1. lib/moonshine_setup_manifest.rb (view online)
Parent: ShadowPuppet::Manifest

Running cap deploy:setup or cap moonshine:bootstrap in uploads your

config/moonshine.yml

to /tmp/moonshine.yml on your server and applies this manifest.

Requires these three variables in a YAML config/moonshine.yml:

application: your_app_name
user: rails
deploy_to: /srv/your_app_name

Methods

public instance

  1. directories

Public instance methods

directories ()

Essentially replicates the deploy:setup command from capistrano, but sets up permissions correctly

[show source]
    # File lib/moonshine_setup_manifest.rb, line 19
19:   def directories
20:     deploy_to_array = configuration[:deploy_to].split('/')
21:     deploy_to_array.each_with_index do |dir, index|
22:       next if index == 0 || index >= (deploy_to_array.size-1)
23:       file '/'+deploy_to_array[1..index].join('/'), :ensure => :directory
24:     end
25:     dirs = [
26:       "#{configuration[:deploy_to]}",
27:       "#{configuration[:deploy_to]}/shared",
28:       "#{configuration[:deploy_to]}/shared/config",
29:       "#{configuration[:deploy_to]}/releases"
30:     ]
31:     dirs.each do |dir|
32:       file dir,
33:       :ensure => :directory,
34:       :owner => configuration[:user],
35:       :group => configuration[:group] || configuration[:user],
36:       :mode => '775'
37:     end
38:   end