Module: ActiveRecord::Bogacs::ThreadSafe
- Defined in:
- lib/active_record/bogacs/thread_safe.rb,
lib/active_record/bogacs/thread_safe/synchronized.rb
Defined Under Namespace
Modules: Synchronized
Constant Summary collapse
- Map =
::ThreadSafe::Cache
Class Method Summary collapse
Class Method Details
.load_atomic_reference ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/active_record/bogacs/thread_safe.rb', line 29 def self.load_atomic_reference return const_get :AtomicReference if const_defined? :AtomicReference begin require 'concurrent/atomic/atomic_reference.rb' rescue LoadError => e begin require 'atomic' rescue LoadError warn "shareable pool needs gem 'concurrent-ruby', '>= 0.9.1' (or the old 'atomic' gem) " << "please install or add it to your Gemfile" raise e end end if defined? ::Concurrent::AtomicReference const_set :AtomicReference, ::Concurrent::AtomicReference else const_set :AtomicReference, ::Atomic end end |
.load_cheap_lockable(required = true) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/active_record/bogacs/thread_safe.rb', line 51 def self.load_cheap_lockable(required = true) return const_get :CheapLockable if const_defined? :CheapLockable begin require 'concurrent/thread_safe/util/cheap_lockable.rb' rescue LoadError => e begin require 'thread_safe' rescue return nil unless required warn "activerecord-bogacs needs gem 'concurrent-ruby', '~> 1.0' (or the old 'thread_safe' gem) " << "please install or add it to your Gemfile" raise e end end if defined? ::Concurrent::ThreadSafe::Util::CheapLockable const_set :CheapLockable, ::Concurrent::ThreadSafe::Util::CheapLockable else const_set :CheapLockable, ::ThreadSafe::Util::CheapLockable end end |