class Multideploy::CreateScripts

Attributes

c[R]

Public Class Methods

new() click to toggle source
# File lib/mina/multideploy/create_scripts.rb, line 7
def initialize
  @c = Mina::Multideploy.configuration
end

Public Instance Methods

call() click to toggle source
# File lib/mina/multideploy/create_scripts.rb, line 11
def call
  create_dir
  write_ruby_script
end

Private Instance Methods

create_dir() click to toggle source
# File lib/mina/multideploy/create_scripts.rb, line 18
def create_dir
  FileUtils.mkdir_p(working_dir)
end
deploy_file() click to toggle source
# File lib/mina/multideploy/create_scripts.rb, line 26
def deploy_file
  'servers_deploy.rb'
end
ruby_script() click to toggle source
# File lib/mina/multideploy/create_scripts.rb, line 37
def ruby_script
  template_path = File.join(File.dirname(__FILE__), "./templates/#{deploy_file}")
  script = File.read(template_path)
  script = script.gsub('SERVERS_TO_REPLACE', c.servers.inspect)
  script = script.gsub('ORIGINAL_DEPLOY_FILE_TO_REPLACE', c.original)
  script = script.gsub('CUSTOM_W_DIR_TO_REPLACE', c.w_dir)
end
working_dir() click to toggle source
# File lib/mina/multideploy/create_scripts.rb, line 22
def working_dir
  c.w_dir
end
write_ruby_script() click to toggle source
# File lib/mina/multideploy/create_scripts.rb, line 30
def write_ruby_script
  File.open("#{working_dir}/#{deploy_file}", 'w+') do |f|
    f.write(ruby_script)
  end
  FileUtils.chmod 0o755, "#{working_dir}/#{deploy_file}"
end