Sha256: 5d4108f736a1effe7fe7dbf0d57962f745301febe7054a92ff9f72df519b0f12
Contents?: true
Size: 952 Bytes
Versions: 3
Compression:
Stored size: 952 Bytes
Contents
require 'shellwords' require 'etc' module Eye::Process::Validate class Error < Exception; end def validate(config, localize = true) if (str = config[:start_command]) # it should parse with Shellwords and not raise spl = Shellwords.shellwords(str) * '#' if config[:daemonize] && !config[:use_leaf_child] if spl =~ %r[sh#\-c|#&&#|;#] raise Error, "#{config[:name]}, daemonize does not support concats like '&&' in start_command" end end end Shellwords.shellwords(config[:stop_command]) if config[:stop_command] Shellwords.shellwords(config[:restart_command]) if config[:restart_command] if localize Etc.getpwnam(config[:uid]) if config[:uid] Etc.getpwnam(config[:gid]) if config[:gid] if config[:working_dir] raise Error, "working_dir '#{config[:working_dir]}' is invalid" unless File.directory?(config[:working_dir]) end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
ace-eye-0.6.2 | lib/eye/process/validate.rb |
ace-eye-0.6.1 | lib/eye/process/validate.rb |
eye-0.6 | lib/eye/process/validate.rb |