Module: TorqueBox::Upstart

Defined in:
lib/torquebox/upstart.rb

Class Method Summary collapse

Class Method Details

.check_installObject



54
55
56
57
58
# File 'lib/torquebox/upstart.rb', line 54

def check_install
  TorqueBox::DeployUtils.check_opt_torquebox
  raise "#{init_torquebox} not installed in #{init_dir}" unless ( File.exist?( init_torquebox ) )
  puts "TorqueBox init scripts OK: #{init_torquebox}"
end

.copy_init_script(opts = {}) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/torquebox/upstart.rb', line 39

def copy_init_script(opts={})
  if File.writable?( init_dir )
    if ( server_opts = TorqueBox::DeployUtils.find_option(opts, 'server_opts') )
      to_init_file = File.join( init_dir, File.basename(init_script) )
      File.open( to_init_file, 'w' ) do |f|
        f.write( process_init_template(server_opts) )
      end
    else
      FileUtils.cp( init_script, init_dir )
    end
  else
    puts "Cannot write upstart configuration to #{init_dir}. You'll need to copy #{init_script} to #{init_dir} yourself."
  end
end

.init_dirObject



27
28
29
# File 'lib/torquebox/upstart.rb', line 27

def init_dir
  File.join( TorqueBox::DeployUtils.sys_root, 'etc', 'init' )
end

.init_scriptObject



31
32
33
# File 'lib/torquebox/upstart.rb', line 31

def init_script
  File.join( TorqueBox::DeployUtils.torquebox_home, 'share', 'init', 'torquebox.conf' )
end

.init_torqueboxObject



35
36
37
# File 'lib/torquebox/upstart.rb', line 35

def init_torquebox
  File.join( init_dir, 'torquebox.conf' )
end

.process_init_template(server_opts) ⇒ Object

param names are important to the template



61
62
63
64
# File 'lib/torquebox/upstart.rb', line 61

def process_init_template(server_opts)
  template = ERB.new File.new( "#{init_script}.erb" ).read
  template.result(binding)
end