Sha256: e416de7e7746c63b7654ec8a8a9c3e4644426aaf40c2c5413e11cd1baec8ae4d
Contents?: true
Size: 1.48 KB
Versions: 3
Compression:
Stored size: 1.48 KB
Contents
# # This file is part of the ballast gem. Copyright (C) 2013 and above Shogun <shogun@cowtech.it>. # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php. # require "lazier" require "brauser" require "interactor" require "addressable/uri" require "rack/utils" require "rack/fiber_pool" require "em-synchrony" require "oj" Lazier.load! Oj.default_options = Oj.default_options.merge(mode: :compat, indent: 2, symbol_keys: true) require "ballast/version" if !defined?(Ballast::Version) require "ballast/errors" require "ballast/context" require "ballast/operation" require "ballast/operations_chain" require "ballast/request_domain_matcher" require "ballast/configuration" require "ballast/concerns/ajax" require "ballast/concerns/common" require "ballast/concerns/view" require "ballast/concerns/errors_handling" require "ballast/middlewares/default_host" module Ballast # If running under eventmachine, run the block in a thread of its threadpool using EM::Synchrony, otherwise run the block normally. # # @param start_reactor [Boolean] If start a EM::Synchrony reactor if none is running. # @param block [Proc] The block to run. def self.in_em_thread(start_reactor = false, &block) if EM.reactor_running? then EM::Synchrony.defer do Fiber.new { block.call }.resume end elsif start_reactor then EM.synchrony do Ballast.in_em_thread(&block) EM.stop end else block.call end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ballast-1.9.2 | lib/ballast.rb |
ballast-1.9.1 | lib/ballast.rb |
ballast-1.9.0 | lib/ballast.rb |