class Pups::Runit
Attributes
cd[RW]
env[RW]
exec[RW]
name[RW]
Public Class Methods
new(name)
click to toggle source
# File lib/pups/runit.rb, line 7 def initialize(name) @name = name end
Public Instance Methods
cd_script()
click to toggle source
# File lib/pups/runit.rb, line 29 def cd_script "cd #{@cd}" if @cd end
env_script()
click to toggle source
# File lib/pups/runit.rb, line 33 def env_script @env&.map do |k, v| "export #{k}=#{v}" end&.join("\n") end
run_script()
click to toggle source
# File lib/pups/runit.rb, line 20 def run_script "#!/bin/bash exec 2>&1 #{env_script} #{cd_script} #{exec} " end
setup()
click to toggle source
# File lib/pups/runit.rb, line 11 def setup `mkdir -p /etc/service/#{name}` run = "/etc/service/#{name}/run" File.open(run, 'w') do |f| f.write(run_script) end `chmod +x #{run}` end