Class: DaemonizeRails::Init

Inherits:
Object
  • Object
show all
Defined in:
lib/daemonize_rails.rb

Instance Method Summary collapse

Constructor Details

#initialize(bindings, app_name) ⇒ Init

Returns a new instance of Init.



28
29
30
31
# File 'lib/daemonize_rails.rb', line 28

def initialize(bindings, app_name)
  @bindings = bindings
  @app_name = app_name
end

Instance Method Details

#make_config_fileObject



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/daemonize_rails.rb', line 33

def make_config_file
  init_file = ERB.new File.new(File.dirname(__FILE__) + "/init_template.erb").read, nil, "%"
  init_path = "/etc/init.d/#{@app_name}"
  if ENV["USER"] != "root"
    File.open("./tempfile", 'w') { |f| f.puts init_file.result(@bindings) }
    command = "sh -c 'cat ./tempfile > #{init_path}'"
    system "sudo -p 'You don't have permissions to update init! Enter sudo password: ' #{command}"
  else
    init_output = File.open(init_path, 'w') { |f| f.puts init_file.result(@bindings) }
  end
end