module Concurrency::InstanceMethods
Public Instance Methods
concurrency_cache()
click to toggle source
# File lib/rails_core_extensions/concurrency.rb, line 109 def concurrency_cache self.class.concurrency_cache end
concurrency_safe_method_locked?(method)
click to toggle source
# File lib/rails_core_extensions/concurrency.rb, line 114 def concurrency_safe_method_locked?(method) concurrency_cache.read(concurrency_safe_method_cache_name(method)) == 'locked' end
Private Instance Methods
concurrency_safe_method_cache_name(method)
click to toggle source
# File lib/rails_core_extensions/concurrency.rb, line 131 def concurrency_safe_method_cache_name(method) "#{self.class.name.underscore}_concurrency_safe_instance_method_#{method}" end
lock_concurrency_safe_method(method)
click to toggle source
# File lib/rails_core_extensions/concurrency.rb, line 121 def lock_concurrency_safe_method(method) concurrency_cache.write(concurrency_safe_method_cache_name(method), 'locked') end
unlock_concurrency_safe_method(method)
click to toggle source
# File lib/rails_core_extensions/concurrency.rb, line 126 def unlock_concurrency_safe_method(method) concurrency_cache.delete(concurrency_safe_method_cache_name(method)) end