Sha256: ed5e385f3d6c9aa8ff2c19906377bcc0e44e50e93fa9b641a7b78fd2fb99ad20
Contents?: true
Size: 1.27 KB
Versions: 19
Compression:
Stored size: 1.27 KB
Contents
require 'fileutils' require "core/reentry_helpers" require "core/controller" require "core/gui" require "core/has_spi" require "core/interface" require "core/model" require "core/observable" require "core/observable_struct" require "core/persistent_cache" require "core/plugin" require "core/plugin/storage" begin require 'java' require "core/task" require "core/task_queue" require "core/resource" rescue LoadError => e end module Redcar def self.tmp_dir path = File.join(Redcar.user_dir, "tmp") unless File.exists?(path) FileUtils.mkdir(path) end path end class Core def self.loaded unless File.exist?(Redcar.user_dir) FileUtils.mkdir(Redcar.user_dir) end PersistentCache.storage_dir = File.join(Redcar.user_dir, "cache") end end class TimeoutError < StandardError; end def self.timeout(limit) x = Thread.current result = nil y = Thread.new do begin result = yield rescue Object => e x.raise e end end s = Time.now loop do if not y.alive? break elsif Time.now - s > limit y.kill raise Redcar::TimeoutError, "timed out after #{Time.now - s}s" break end sleep 0.1 end result end end
Version data entries
19 entries across 19 versions & 2 rubygems