Sha256: be1f14105e3bb873a4b0aff03ddb3f0370c0bd487fca5d55fd08579e78d60d94
Contents?: true
Size: 1.89 KB
Versions: 9
Compression:
Stored size: 1.89 KB
Contents
require 'fileutils' module Eye::Local class << self def dir @dir ||= begin if root? '/var/run/eye' else File.expand_path(File.join(home, '.eye')) end end end attr_writer :dir, :client_timeout, :host def global_eyeconfig '/etc/eye.conf' end def eyeconfig File.expand_path(File.join(home, '.eyeconfig')) end def root? Process::UID.eid == 0 end def home h = ENV['EYE_HOME'] || ENV['HOME'] raise 'HOME undefined, should be HOME or EYE_HOME environment' unless h h end def path(path) File.expand_path(path, dir) end def ensure_eye_dir FileUtils.mkdir_p(dir) unless ENV['EYE_SOCK'] && ENV['EYE_PID'] end def socket_path path(ENV['EYE_SOCK'] || "sock#{ENV['EYE_V']}") end def pid_path path(ENV['EYE_PID'] || "pid#{ENV['EYE_V']}") end def cache_path path("processes#{ENV['EYE_V']}.cache") end def default_client_timeout (ENV['EYE_CLIENT_TIMEOUT'] || 5).to_i end def client_timeout @client_timeout ||= default_client_timeout end def supported_setsid? RUBY_VERSION >= '2.0' end def host @host ||= begin require 'socket' Socket.gethostname end end def eyefile @eyefile ||= find_eyefile(ENV['EYE_HOME'] || '.') end def find_eyefile(start_from_dir) fromenv = ENV['EYE_FILE'] return fromenv if fromenv && !fromenv.empty? && File.file?(fromenv) previous = nil current = File.expand_path(start_from_dir) until !File.directory?(current) || current == previous filename = File.join(current, 'Eyefile') return filename if File.file?(filename) previous = current current = File.expand_path('..', current) end end attr_accessor :local_runner end end
Version data entries
9 entries across 9 versions & 1 rubygems