module Eye::Local

Attributes

client_timeout[W]
dir[W]
host[W]
local_runner[RW]

Public Class Methods

cache_path() click to toggle source
# File lib/eye/local.rb, line 57
def cache_path
  path("processes#{ENV['EYE_V']}.cache")
end
client_timeout() click to toggle source
# File lib/eye/local.rb, line 65
def client_timeout
  @client_timeout ||= default_client_timeout
end
default_client_timeout() click to toggle source
# File lib/eye/local.rb, line 61
def default_client_timeout
  (ENV['EYE_CLIENT_TIMEOUT'] || 5).to_i
end
dir() click to toggle source
# File lib/eye/local.rb, line 7
def dir
  @dir ||= begin
    if root?
      if (_home = ENV['EYE_HOME']) && !_home.empty?
        File.expand_path(File.join(_home, '.eye'))
      else
        '/var/run/eye'
      end
    else
      File.expand_path(File.join(home, '.eye'))
    end
  end
end
ensure_eye_dir() click to toggle source
# File lib/eye/local.rb, line 45
def ensure_eye_dir
  FileUtils.mkdir_p(dir) unless ENV['EYE_SOCK'] && ENV['EYE_PID']
end
eyeconfig() click to toggle source
# File lib/eye/local.rb, line 27
def eyeconfig
  File.expand_path(File.join(home, '.eyeconfig'))
end
eyefile() click to toggle source
# File lib/eye/local.rb, line 80
def eyefile
  @eyefile ||= find_eyefile(ENV['EYE_HOME'] || '.')
end
find_eyefile(start_from_dir) click to toggle source
# File lib/eye/local.rb, line 84
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
global_eyeconfig() click to toggle source
# File lib/eye/local.rb, line 23
def global_eyeconfig
  '/etc/eye.conf'
end
home() click to toggle source
# File lib/eye/local.rb, line 35
def home
  h = ENV['EYE_HOME'] || ENV['HOME']
  raise 'HOME undefined, should be HOME or EYE_HOME environment' unless h
  h
end
host() click to toggle source
# File lib/eye/local.rb, line 73
def host
  @host ||= begin
    require 'socket'
    Socket.gethostname
  end
end
path(path) click to toggle source
# File lib/eye/local.rb, line 41
def path(path)
  File.expand_path(path, dir)
end
pid_path() click to toggle source
# File lib/eye/local.rb, line 53
def pid_path
  path(ENV['EYE_PID'] || "pid#{ENV['EYE_V']}")
end
root?() click to toggle source
# File lib/eye/local.rb, line 31
def root?
  Process::UID.eid == 0
end
socket_path() click to toggle source
# File lib/eye/local.rb, line 49
def socket_path
  path(ENV['EYE_SOCK'] || "sock#{ENV['EYE_V']}")
end
supported_setsid?() click to toggle source
# File lib/eye/local.rb, line 69
def supported_setsid?
  RUBY_VERSION >= '2.0'
end