module Firebolt
Constants
- CONFIGURE_MUTEX
- FIREBOLT_MUTEX
Using a mutex to control access while creating a
::Firebolt::Config
- VERSION
Public Class Methods
config()
click to toggle source
# File lib/firebolt.rb, line 26 def self.config return @config unless @config.nil? FIREBOLT_MUTEX.synchronize do @config ||= ::Firebolt::Config.new end @config end
configure() { |config| ... }
click to toggle source
# File lib/firebolt.rb, line 36 def self.configure CONFIGURE_MUTEX.synchronize do yield(config) end end
initialize!(&block)
click to toggle source
# File lib/firebolt.rb, line 53 def self.initialize!(&block) return if initialized? configure(&block) if block_given? raise "Firebolt.config.cache has not been set" unless config.cache raise "Firebolt.config.warmer has not been set" unless config.warmer unless skip_warming? initialize_rufus_scheduler # Initial warming warmer = config.use_file_warmer? ? ::Firebolt::FileWarmer : config.warmer ::Concurrent::Future.execute { ::Firebolt::WarmCacheJob.new.perform(warmer) } end initialized! end
initialize_rufus_scheduler()
click to toggle source
# File lib/firebolt.rb, line 42 def self.initialize_rufus_scheduler return if config.warming_frequency.nil? warming_frequency = config.warming_frequency.to_s scheduler = ::Rufus::Scheduler.new scheduler.every(warming_frequency) do ::Firebolt::WarmCacheJob.new.perform(config.warmer) end end
initialized!()
click to toggle source
# File lib/firebolt.rb, line 72 def self.initialized! return @initialized unless @initialized.nil? FIREBOLT_MUTEX.synchronize do @initialized ||= true end @initialized end
initialized?()
click to toggle source
# File lib/firebolt.rb, line 82 def self.initialized? !! @initialized end
skip_warming?()
click to toggle source
# File lib/firebolt.rb, line 86 def self.skip_warming? ENV['FIREBOLT_SKIP_WARMING'] || ENV['RAILS_ENV'] == 'test' || config.skip_warming == true end